文章目录
- 什么是微服务架构
- 微服务架构的利弊
- 康威法则
- 微服务架构适用性
- 微服务的组织架构
什么是微服务架构
关键字:loosely coupled
微服务架构的核心特点:
- 一组小的服务
- 独立的进程
- 轻量级通信
- 基于业务能力
- 独立部署
- 无集中式管理
具有边界上下文的面向服务的体系结构
service oriented architecture with bounded context
微服务架构的利弊
微服务架构的优势:
- 强模块化边界
- 可独立部署
- 技术多样性
微服务架构的劣势:
- 分布式复杂性
- 最终一致性
- 测试复杂性
- 运维复杂性
康威法则
设计系统的企业受限于生产设计,这些设计是企业沟通结构的副本——Melvin Conway(1967)。
这意味着设计系统的企业,它们生产的设计等同于企业内的沟通结构。下图说明了此概念:
该图展现了企业现有沟通结构,简单地说:企业结构等于系统设计。
核心观点:
- 第一定律:企业沟通方式会通过系统设计表达出来
- 第二定律:再多的时间也没办法让任务完美至极,但总有时间能将它完成
- 第三定律:线型系统和线型组织架构间有潜在的异质同态特性
- 第四定律:大系统比小系统更适用于任务分解
微服务架构适用性
微服务需求的基础设施投入占比较大,在项目前期,单体应用足以满足业务要求时,不建议直接使用微服务。
一般来说,一个项目有百人以上的规模,或者有团队拆分的必要性,则可以考虑微服务架构。对于初步的项目研发,决策上单块优先。
随着业务发展,规模扩大,人员增加,服务边界更加稳定和清晰,逐步将单体架构演化为微服务架构。
微服务的组织架构
传统的独立职能部门划分,沟通合作成本巨大、业务支持反应慢、产品反馈周期长、研发能力低下。
微服务模式下,需围绕服务,组建跨职能团队,以及公共的平台级别的团队。
who build it,who run it !
更好更快速响应,快速迭代。