5.2、为什么需要微服务
分类: 微服务架构理论与实践
为什么需要微服务
理解为什么需要微服务,有助于我们做出正确的架构决策。本节将学习单体应用的痛点,以及微服务如何解决这些问题。
本节将学习:单体应用痛点、微服务解决的问题、适用场景,以及不适用场景。
单体应用痛点
主要痛点
单体应用的主要痛点:
- 扩展性差:只能整体扩展,无法按需扩展
- 技术栈限制:必须使用统一的技术栈
- 部署风险高:一个小改动需要重新部署整个应用
- 团队协作困难:多人开发容易产生冲突
- 性能瓶颈:所有功能共享资源
微服务解决的问题
解决方案
微服务解决的问题:
- 独立扩展:每个服务可以独立扩展
- 技术多样性:不同服务可以使用不同技术
- 独立部署:服务可以独立部署,降低风险
- 团队自治:不同团队可以独立开发
- 资源隔离:每个服务有独立的资源
适用场景
适合使用微服务的场景
适合使用微服务的场景:
- 大型团队开发
- 复杂的业务系统
- 需要快速迭代
- 需要技术多样性
不适用场景
不适合使用微服务的场景
不适合使用微服务的场景:
- 小型项目
- 简单的业务系统
- 团队规模小
- 业务稳定,变化少
官方资源
本节小结
在本节中,我们学习了:
第一个是单体应用痛点。 扩展性差、技术栈限制、部署风险高。
第二个是微服务解决的问题。 独立扩展、技术多样性、独立部署。
第三个是适用场景。 大型团队、复杂系统、快速迭代。
第四个是不适用场景。 小型项目、简单系统、小团队。
这就是为什么需要微服务。理解适用场景,有助于做出正确的架构决策。
在下一节,我们将学习微服务架构设计原则。