构建微服务架构时,主要关注3个点:
- 分解业务问题
- 建立服务粒度
- 定义服务接口
分解业务问题:
- 描述业务问题
- 注意动词
- 寻找数据内聚
建立服务粒度:
- 开始的时候可以让微服务涉及的范围更广,然后将其重构到更小
- 重点关注服务如何相互交互
- 随着对问题域的理解不断增长,服务的职责将随着时间的推移而改变
相互交流:定义服务接口
- 拥抱rest理念
- 使用URI表达意图
- 请求和相应使用JSON
- 使用Http状态码来传达结果
何时不应该使用微服务:
考量因素:
- 构建分布式系统的复杂性
- 服务器散乱
- 应用程序类型
- 数据事务和一致性