微服务的优缺点

优点:
1. 扩展性强、便于开发和维护,局部修改简单
2. 启动较快,性能、压力测试更有针对性。调节cpu、内存、磁盘io性能等参数指标方便
3. 技术栈不受限制,可以使用任何技术框架、也可选择其他编程语言实现
4. 可伸缩性、扩展性、高可用性可控,可调节

缺点:
1. 运维要求比较高,需要分布式监控、自动化部署测试等
2. 分布式的复杂性,逻辑复杂,跟踪复杂,以及分布式事务等问题需要解决
3. 接口调试,模块与模块之间连调测试比较复杂

垂直系统的弊端:
1. 随着业务量的增加,复杂性逐渐变高,代码耦合太深,不利于开发维护
2. 技术债务逐渐积累加剧,很多代码都是为了解决问题而开发
3. 阻碍新技术的引入和使用,只能依赖于原有旧的技术框架开发
4. 无法进行高可用、负载均衡、水平扩展和合理的伸缩
5. 部署的服务速度会随着代码的累积逐渐变慢,性能降低,随着数据量的增大下降

你可能感兴趣的:(微服务的优缺点)