架构师论文备考-论软件架构的脆弱性

        摘要

(时间,人物,内容)2022年1月起,我投身于公司智慧公交平台项目,主要参与了新平台整体框架的选型决策和核心调度模块的设计与研发工作。(产品简介)新公交智慧平台系统专注于服务公交行业,致力于提供智能排班、综合调度等创新解决方案,以满足公交调度业务的需求。(架构简介) 在软件架构设计阶段,我们团队精心挑选了适合的架构模式。新公交智慧平台采用了分层的架构设计,遵循物联网标准的三层架构模式,分为设备交互层、网络层和应用层。同时,我们采纳了微服务架构,将公交业务细分为多个模块,各服务间通过通信协议实现交互。此外,我们以构建互联网化的Saas平台为目标,采用了B/S架构,并以租户模式提供全面的Saas化服务。系统可部署在公有云、公交企业私有云或私有服务器上,亦可直接作为租户使用我们搭建的云平台。 (文本简介)本文以新公交智慧平台系统架构为案例,深入分析了不同架构的潜在脆弱性,并详细介绍了我们在识别这些脆弱性后,进行的优化和升级措施。通过这一实践,我们为公交行业的智慧化发展提供了有力支持。

        正文

(项目背景)在“互联网+”的时代背景下,城市公共交通作为一个传统行业,由于其业务复杂性,技术进步长期受限,行业整体技术水平相对较低。为应对公交行业在技术层面遇到的挑战,同时满足公众对高品质交通服务的期望,我们全新打造的公交智慧平台项目应运而生。(公交项目架构) 在项目设计初期,我们对现有的公交调度系统进行了彻底的软件重组和深入分析。基于此,我们形成了以调度模块、排班模块、基础数据模块、面向设备的Tap模块、报表模块为核心的公交业务组合。在核心业务基础上,我们还拓展了智能排班模块、主动安全模块、票款模块等,以适应多样化的公交业务场景。特别是调度模块,由于其业务流程的高度复杂性,我们采用了领域驱动设计(DDD)的架构理念,将核心业务逻辑封装于domain层,并引入了业务流程引擎,以解耦复杂的业务处理场景,有效解决了公交调度模块的业务难题。

(脆弱性描述)在架构设计的初始阶段,我们借鉴了物联网的经典分层架构模式,将系统划分为设备交互层、网络层和应用层。分层架构虽然提高了系统的模块化和可维护性,但也存在一定的脆弱性,主要体现在以下两个方面:

        底层模块的脆弱性: 底层模块,如设备交互层和数据层,是整个系统的基础。其脆弱性体现在,一旦底层模块出现问题,例如数据层发生故障,将会直接影响所有依赖于这些底层模块的上层功能。这种依赖性导致底层模块的稳定性对整个系统的正常运行至关重要。

        层与层之间交互的脆弱性: 层与层之间的交互依赖于通信协议的连接。这种交互的脆弱性表现在,一旦通信链路出现问题,无论是网络延迟、中断还是协议错误,都可能导致整个系统的功能受损。此外,随着通信协议的增加,系统的复杂性也随之提升,这不仅增加了维护难度,还可能对系统性能造成负面影响。

为了缓解这些脆弱性,我们采取了以下措施:

  1. 强化底层模块的健壮性,通过冗余设计、故障转移和备份策略来确保数据层和设备交互层的稳定运行。
  2. 优化层与层之间的通信机制,采用高效的通信协议,并实施监控和故障检测机制,以快速识别和解决通信问题。
  3. 简化通信协议,减少不必要的协议复杂性和多样性,以提高系统的稳定性和性能。
  4. 引入中间件或服务网格技术,以提供更加可靠和灵活的服务间通信。

        在智慧公交平台开发的起始阶段,我们明确了平台将基于微服务架构构建。微服务架构虽然提供了许多优势,如模块化、可扩展性和灵活性,但也伴随着一些脆弱性,主要包括分布式系统的复杂性、微服务的管理难度,以及服务间的交互和通信问题。针对微服务架构的脆弱性,我们采取了以下策略:

        分布式系统的复杂性: 为了应对微服务架构中的分布式挑战,我们采用了成熟的服务注册与发现框架,确保微服务能够高效地在分布式环境中被发现和调用。此外,我们利用Nginx等负载均衡技术来提升服务的可用性和容错能力,确保系统在面对高并发和故障时仍能保持稳定运行。

        微服务管理的复杂性: 管理众多微服务是中小型企业面临的共同难题。为了简化这一过程,我们采取了以下措施:1. 编写详尽的开发文档和部署文档,明确每个微服务的职责、接口规范和交互逻辑。2. 实施自动化部署脚本,使得微服务的部署过程更加快捷和可靠,减少人为错误。3. 集成公司的CI/CD(持续集成/持续部署)自动发布平台,通过自动化流程进一步降低微服务管理的复杂性和部署成本。通过这些措施,我们不仅优化了微服务的运行效率,还提升了整个智慧公交平台的管理和维护水平,确保了系统的稳定性和可扩展性。

        B/S(浏览器/服务器)架构在互联网环境中广泛应用,但其面临的脆弱性主要体现在HTTP协议的安全问题上。使用互联网意味着系统可能遭受网络病毒、恶意攻击等安全威胁。为了确保智慧公交平台的安全性,我们采取了以下安全性设计措施:

1. 复用中台组件:我们利用公司中台提供的成熟组件,如单点登录(SSO)功能和网关功能,这些组件能够帮助我们有效抵御网络病毒和恶意攻击,保护系统免受外部威胁。

2. 端口管理:在系统部署时,我们严格控制端口的开放,仅将网关端口作为外界用户访问系统的唯一入口,减少潜在的攻击面。

3. 网关服务监控:我们对网关服务进行实时安全监控,确保任何异常活动都能被及时发现并处理,从而保障系统的整体安全性。

安全合规:

4. 等保工作:我们与公交公司合作,按照国家信息安全等级保护(等保)的相关法律法规要求,完成行业内的等保工作。这包括但不限于系统安全评估、安全防护措施的实施和持续改进。

5. 法律法规遵循:我们以等保法律法规为标准,实时更新和完善系统的安全性内容,确保系统在法律和政策的框架内运行,降低法律风险。

        通过这些综合性的安全策略,我们不仅提升了智慧公交平台的安全防护能力,还确保了系统的稳定运行和用户数据的安全,为公交行业提供了可靠的技术支持。

        智慧公交平台自2022年12月在一个城市正式上线以来,已平稳运行一年有余。在这段时间里,我们遇到了不少挑战和困难,也经历了必要的架构调整。我们秉持敏捷开发理念,以小组为单位,分工合作,负责不同微服务模块的研发与运维。虽然软件架构上仍存在一些待解决的脆弱性问题,例如HTTP协议的替代方案探讨,以及物联网协议向MQTT协议的整体迁移等,但随着时间的推移,我们的项目也在不断进步和完善。

        我们致力于构建一个更加先进、完善的公交智慧平台。结合云原生技术、大数据分析和人工智能等前沿科技,我们正在打造一个更加智能、多元化的公交智慧平台,以期为公交行业带来更高效、便捷的服务体验,推动智慧交通的持续发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值