文章

微服务的优缺点

微服务的优缺点

简介

微服务是一种架构风格,通过将大型的单体应用划分为比较小的服务单元,从而降低整个系统的复杂度。

优点

  1. 服务部署更灵活:每个应用都可以是一个独立的项目,可以独立部署,不依赖于其他服务,耦合性降低。
  2. 技术更新灵活:在大型单体应用中,技术要进行更新,往往是非常困难的。而微服务可以根据业务特点,灵活选择技术栈。
  3. 应用的性能得到提高:大型单体应用中,往往启动就会成为一个很大的难关。而采用微服务之后,整个系统的性能是能够得到提高的。
  4. 更容易组合专门的团队:在单体应用时,团队成员往往需要对系统的各个部分都要有深入的了解,门槛很高。而采用微服务之后,可以给每个微服务组建专门的团队。
  5. 代码复用:很多底层服务可以以REST API的方式对外提供统一的服务,所有基础服务可以在整个微服务系统中通用。

缺点

  1. 服务调用的复杂性提高了:网络问题、容错问题、负载问题、高并发问题
  2. 分布式事务:尽量不要使用微服务事务。
  3. 测试的难度提升了:
  4. 运维难度提升:单体架构只要维护一个环境,而到了微服务是很多个环境。并且运维方式还都不一样。所以对部署、监控、告警等要求就会变得非常困难。
本文由作者按照 CC BY 4.0 进行授权