微服务架构:系统架构、集成与通信解析
1. 微服务系统架构要点
微服务系统的架构在多个方面有着独特的要求和特点。
1.1 系统特性保障
- 备份与恢复 :部分共享基础设施可提供具备适当备份和灾难恢复机制的数据库,但微服务在数据存储方面需承担相应责任。
- 可用性 :系统的可用性要求每个微服务单独贡献。由于微服务架构中存在单个微服务故障的可能性,微服务系统通常在这方面有较好的准备,例如利用弹性机制来保障。
然而,在设计安全措施时,这些方面常常被忽视。实际上,服务故障可能比数据的未授权访问带来更严重的后果,比如拒绝服务攻击会使服务器过载而无法正常工作,且此类攻击的技术门槛较低,防御难度较大。
1.2 文档与元数据管理
为了全面掌握微服务架构,每个微服务需要提供特定信息,且架构要明确微服务提供信息的方式,只有信息统一提供,才能便于收集。可能需要的信息包括:
- 基本信息 :如服务名称和负责人。
- 源代码信息 :代码在版本控制中的位置以及使用的库。这些库信息有助于与公司政策对比开源许可证,或在库出现安全漏洞时识别受影响的微服务。
- 协作信息 :与其他微服务的协作情况,这对架构管理至关重要。
- 配置与特性开关信息 :配置参数和特性开关的信息,特性开关可用于控制功能的开启和关闭,有助于在生产环境中安全地启用新功能