版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liujianhuiouc/article/details/52711050

单体应用的不足

  1. 逻辑复杂、模块耦合、代码臃肿,修改难度大,版本迭代效率低下
  2. 系统启动慢,一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长
  3. 系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机
  4. 可伸缩性差;系统的扩容只能只对这个应用进行扩容,不能做到对某个功能点进行扩容
  5. 线上问题修复周期长;任何一个线上问题修复需要对整个应用系统进行全面升级

微服务架构的优点

  1. 分而治之;单个服务功能内聚,复杂性低;方便团队的拆分和管理
  2. 可伸缩;能够单独的对指定的服务进行伸缩
  3. 迭代周期短;支持快速的迭代开发
  4. 独立部署,独立开发

微服务架构的不足

  1. 可维护性差;应用流程常常垮多个微服务,不易进行问题的定位
  2. 效率相对低,团队依赖强,一个服务的版本延迟会拖慢整个应用的开发周期
  3. 开发难度大;垮服务的调用通常是不同的机器,甚至是不同的机房,开发人员需要处理超时、网络异常等问题
  4. 应用级别的需求变动常常波及多个服务;
  5. 分布式事务的支持