5.2为什么需要微服务

分类: 微服务架构理论与实践

为什么需要微服务

理解为什么需要微服务,有助于我们做出正确的架构决策。本节将学习单体应用的痛点,以及微服务如何解决这些问题。

本节将学习:单体应用痛点、微服务解决的问题、适用场景,以及不适用场景。

单体应用痛点

主要痛点

单体应用的主要痛点:

  1. 扩展性差:只能整体扩展,无法按需扩展
  2. 技术栈限制:必须使用统一的技术栈
  3. 部署风险高:一个小改动需要重新部署整个应用
  4. 团队协作困难:多人开发容易产生冲突
  5. 性能瓶颈:所有功能共享资源

微服务解决的问题

解决方案

微服务解决的问题:

  1. 独立扩展:每个服务可以独立扩展
  2. 技术多样性:不同服务可以使用不同技术
  3. 独立部署:服务可以独立部署,降低风险
  4. 团队自治:不同团队可以独立开发
  5. 资源隔离:每个服务有独立的资源

适用场景

适合使用微服务的场景

适合使用微服务的场景:

  • 大型团队开发
  • 复杂的业务系统
  • 需要快速迭代
  • 需要技术多样性

不适用场景

不适合使用微服务的场景

不适合使用微服务的场景:

  • 小型项目
  • 简单的业务系统
  • 团队规模小
  • 业务稳定,变化少

官方资源

本节小结

在本节中,我们学习了:

第一个是单体应用痛点。 扩展性差、技术栈限制、部署风险高。

第二个是微服务解决的问题。 独立扩展、技术多样性、独立部署。

第三个是适用场景。 大型团队、复杂系统、快速迭代。

第四个是不适用场景。 小型项目、简单系统、小团队。

这就是为什么需要微服务。理解适用场景,有助于做出正确的架构决策。

在下一节,我们将学习微服务架构设计原则。