微服务优缺点

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 微服务架构优势显著:易维护、技术栈灵活、升级隔离性强。但存在运维复杂、调用链路长、分布式事务难、学习成本高等挑战,需结合SpringCloud、Docker、Seata等技术协同解决,适合高并发、大体量系统构建。

3.1 优点
①易于开发维护
微服务基于领域模型拆分的应用,其内部模型高度统一,功能相对内聚,开发人员只需要对固定模型进行领域业务接口封装即可。
②技术栈开放
微服务因独立部署、独立开发,因此开发团队可以根据资深团队特点进行技术选型。如团队擅长关系型数据库则MySQL,擅长图形计算则Neo4j。
③升级错误隔离
A技术专项升级因单独部署,不再影响整个分布式架构中全部功能,只影响有接口交互的部分应用,而这种应用也可以通过灰度、服务降级、服务熔断的方式兼容和处理,不会因一个错误导致整个应用瘫痪。
3.2 缺点
①运维成本高
更多的服务意味着更多的运维投入,传统应用中只有一个应用,而为服务中,需要保障几十、上百个服务的正常运行和协作。
②调用链路复杂
微服务架构中,不可避免的会出现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、文件服务器等多种技术,每一门学习都有很多难点需要克服。
4.如何实现

相关文章
|
13天前
|
数据采集 人工智能 安全
|
8天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
663 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
350 164
|
7天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
359 155