目录
单体式服务和微服务对比
新功能开发 | 需要时间 | 容易开发和实现 |
---|---|---|
传统单体架构 | 分布式微服务化架构 | |
部署 | 不经常而且容易部署 | 经常发布,部署复杂 |
隔离性 | 故障影响范围大 | 故障影响范围小 |
架构设计 | 初期技术选型难度大 | 设计逻辑难度大 |
系统性能 | 相对时间快,吞吐量小 | 相对时间慢,吞吐量大 |
系统运维 | 运维难度简单 | 运维难度复杂 |
新人上手 | 学习曲线大(应用逻辑) | 学习曲线大(架构逻辑) |
技术 | 技术单一而且封闭 | 技术多样而且容易开发 |
测试和差错 | 简单 | 复杂(每个服务都要进行单独测试,还需要集群测试) |
系统扩展性 | 扩展性差 | 扩展性好 |
系统管理 | 重点在于开发成本 | 重点在于服务治理和调度 |
单体式缺点
- 耦合度高,维护成本大
- 技术选型成本高,风险大
- 扩展性较差
- 复杂性随着开发越来越高
微服务优点
- 职责单一
- 轻量级通信
- 独立性
- 迭代开发。
- 开发简单
- 快速实现需求改变
- 不停服更新、随时更新
- 系统稳定
微服务缺点
- 运维要求比较高
- 分布式的复杂性
- 接口成本高
- 重复劳动
- 业务不好分离