特征
围绕业务能力构建
康威定律
组织设计的产品/设计等价于这个组织的沟通结构
时间再多一件事情也不可能做的完美,但总有时间做完一件事情
线型系统和线型组织架构间有潜在的异质同态特性
大的系统组织总是比小系统更倾向于分解
分散治理
服务对应开发团队直接对服务运行质量负责任
产品化思维
开发者应将自己的服务作为一个产品,为用户(消费服务)提供支持
数据去中心化
数据应该按领域分散管理、更新、维护、存储。同一实体在不同领域有不同的抽象
强终端弱管道
SOAP与ESB会有不同的协议及不同的编码加工及业务规则转换,而微服务提倡简单通信,适合RESTful
容错性设计
不再幻想系统永远稳定、接受服务可能出错、应该设计自动机制,对可能发生的错误进行检测、隔离、重联,防止雪崩
演进式设计
承认服务会被淘汰,当系统中出现不可更改不可替代的服务,反而是设计上的脆弱
基础设施自动化
大量的服务需要通过CICD减少构建、发布、运维工作复杂度,微服务对基础设施的自动化要求更高