微服务架构的组织影响与实践策略
1. 技术层面的宏观与微观架构决策
在技术方面,关于宏观架构和微观架构有以下决策要点:
- 宏观架构决策 :
- 统一安全、服务发现和通信协议 :这些是微服务相互通信的必要条件,属于宏观架构决策范畴。例如,向下兼容接口的使用和细节决策也包含在内,这对于微服务的独立部署至关重要。
- 弹性和负载均衡 :宏观架构可以定义相关标准技术,或者要求在微服务实现过程中必须考虑这些方面。可以通过测试来确保,如检查微服务在依赖服务失败后是否仍可用,以及负载是否能分配到多个微服务上。
- 集成测试 :只有涉及跨团队功能时才有意义,需要跨团队进行全局协调。
- 技术测试 :宏观架构可以规定团队进行技术测试,以执行和控制全局标准和技术领域。
- 微观架构决策 :
- 配置和协调 :不一定需要为整个项目进行全局确定。当每个微服务由各自的团队运营时,团队可以自行处理配置并选择自己的工具。不过,统一工具具有明显优势。
- 单个微服务的测试方式 :应由各个团队自行决定,因为他们对微服务的质量负责。
- 单个微服务的领域架构 :应该留给团队,若由宏观架构规定,会使微服务在组织层面像单体应用一样,失去了微服务的优势。
- 可由宏观或微观架构决定的决策