微服务优缺点

简介: 微服务优缺点如下

优点
①易于开发维护
微服务基于领域模型拆分的应用,其内部模型高度统一,功能相对内聚,开发人员只需要对固定模型进行领域业务接口封装即可。
②技术栈开放
微服务因独立部署、独立开发,因此开发团队可以根据资深团队特点进行技术选型。如团队擅长关系型数据库则MySQL,擅长图形计算则Neo4j。
③升级错误隔离
A技术专项升级因单独部署,不再影响整个分布式架构中全部功能,只影响有接口交互的部分应用,而这种应用也可以通过灰度、服务降级、服务熔断的方式兼容和处理,不会因一个错误导致整个应用瘫痪。
缺点
①运维成本高
更多的服务意味着更多的运维投入,传统应用中只有一个应用,而为服务中,需要保障几十、上百个服务的正常运行和协作。
②调用链路复杂
微服务架构中,不可避免的会出现A服务依赖B服务,B服务依赖C服务,C继续依赖D服务的场景,一旦A调用异常,排查链路可能会从A->B->C->D,才能最终发现服务报错具体信息(后续skywalking可解决)。
③分布式事务问题
同上例A->B->C->D的长链路调用过程中,如果A先修改自己数据,但下游C却异常,此时预期是A回滚自己事务,这一点在单体应用因都是本地事务可以很好做到,但是分布式场景下却提升了复杂度(后续Seata可解决)。
④学习成本高
微服务学习除了需要一定基础之外:Spring、SpringMvc、MyBatis、SpringBoot、Maven、MySQL等,还需学习SpringCloud,中间件、缓存、Docker、文件服务器等多种技术,每一门学习都有很多难点需要克服。

相关文章
|
2天前
|
存储 监控 微服务
微服务和单体架构是两种不同的软件架构风格,每种都有其自身的优缺点
【1月更文挑战第1天】微服务和单体架构是两种不同的软件架构风格,每种都有其自身的优缺点
54 0
|
7月前
|
运维 Java Serverless
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
496 0
|
2天前
|
运维 监控 持续交付
微服务架构的概念、特点、优缺点以及最佳实践
微服务架构的概念、特点、优缺点以及最佳实践
732 1
|
9月前
|
Java 微服务
|
10月前
|
运维 监控 微服务
什么是微服务?微服务的优缺点是什么?
微服务是一种面向服务架构(SOA)的软件开发模式,将一个大型的单体应用程序拆分为一组小型、松耦合的服务。
166 0
|
敏捷开发 运维 监控
1.2微服务架构 Microservice 的优缺点| 学习笔记
快速学习1.2微服务架构 Microservice 的优缺点。
164 0
1.2微服务架构 Microservice 的优缺点| 学习笔记
|
移动开发 运维 前端开发
微服务优缺点|学习笔记
快速学习微服务优缺点
95 0
|
存储 运维 JavaScript
Serverless中微服务的优缺点和最佳实践
Serverless中微服务的优缺点和最佳实践
572 0
|
敏捷开发 运维 关系型数据库
《springcloud超级入门》微服务的概念和优缺点《一》
微服务是什么?它的优缺点有哪些? “微服务”一词来源于 Martin Fowler 的《Microservices》一文。微服务是一种架构风格,即将单体应用划分为小型的服务单元,微服务之间使用 HTTP 的 API 进行资源访问与操作。
119 0
|
Devops 数据库 开发者