微服务优缺点

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
云数据库 PolarDB MySQL 版,列存表分析加速 8核16GB
RDS Agent(兼容OpenClaw),2核4GB
简介: 微服务架构优势显著:易维护、技术栈灵活、升级隔离性强。但存在运维复杂、调用链路长、分布式事务难、学习成本高等挑战,需结合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.如何实现

相关文章
|
6月前
|
运维 负载均衡 监控
微服务有哪些优缺点?
微服务将应用拆分为小型独立服务,具备技术异构、弹性好、易部署、可独立扩展等优势,适合复杂系统。但其也带来分布式复杂性、运维难、数据一致性挑战等问题,需权衡团队能力与项目需求后采用。
|
存储 文件存储
收藏帖!FreeNAS系统硬盘损坏更换教程,重组系统恢复数据
收藏帖!FreeNAS系统硬盘损坏更换教程,重组系统恢复数据
收藏帖!FreeNAS系统硬盘损坏更换教程,重组系统恢复数据
|
1月前
|
人工智能 监控 算法
Qoder 发布社区版:BYOK免费了
Qoder社区版上线,免费开放BYOK(自带密钥)功能!开发者可自由接入Qwen、Kimi、DeepSeek等5大国产模型,按需选择Coding/Token/按量三种计费模式。零配置用顶级模型,或全权掌控成本与工具链——自由,才是创造力的起点。(239字)
1681 0
|
6月前
|
网络协议 PHP 数据库
如何使用阿里云服务器部署一个属于自己的博客
本文分享个人建站全过程:从阿里云域名注册与备案,到选购服务器并配置宝塔面板,安装WordPress所需环境(PHP、MySQL、Docker等),完成DNS解析与数据库创建,最后通过FTP上传源码并部署博客。步骤清晰,助你快速搭建专属技术博客平台。
|
2月前
|
Kubernetes Cloud Native Java
Spring Boot 4.0:云原生 Java 开发的范式革命
Spring Boot 4.0是面向云原生的里程碑版本:基于JDK 21虚拟线程,启动更快、内存更省;全面升级AOT编译、响应式Web/数据访问、K8s原生支持及统一可观测性。
441 3
|
3月前
|
存储 监控 Java
炸穿 JVM 瓶颈!全网最硬核 JVM 核心参数・线上配置规范与调优 SOP
本文聚焦JDK17实战调优,直击90%线上JVM问题根源——参数配置不合理、内存规划错误、GC选型失当。详解堆内存、元空间、ZGC/G1、线程栈等核心参数,提供微服务/大数据/网关三类标准化配置SOP及可直接复用的监控代码与诊断方案。
544 1
|
4月前
|
Java 应用服务中间件 开发者
Spring Boot 4.0官宣: 弃用 Undertow:Tomcat笑麻了
Spring Boot 4.0.0 M2 正式移除 Undertow 内嵌支持,主因是其未适配 Servlet 6.1 规范,而 Spring Boot 4 强制依赖该规范。本文解析技术动因、迁移影响及平滑过渡方案(推荐切回 Tomcat 或改用 Jetty),助力开发者顺利升级。(239字)
1130 1
Spring Boot 4.0官宣: 弃用 Undertow:Tomcat笑麻了
|
12月前
|
开发工具
HarmonyOS NEXT实战:倒计时
本教程介绍如何使用HarmonyOS SDK中的TextTimer组件实现倒计时功能。涵盖组件参数、控制器及格式设置,结合实战代码演示倒计时30秒的实现过程,适用于教育与开发学习场景。
399 0
|
12月前
|
开发工具 开发者
HarmonyOS NEXT实战:弹出底部菜单
本教程介绍如何使用HarmonyOS SDK中的半模态页面(bindSheet)实现底部菜单的弹起与关闭效果。内容涵盖半模态页面的生命周期、交互规则及使用约束,并通过实战示例BottomPopUpDemoPage演示构建底部菜单栏的具体实现方法,适用于教育学习与开发实践。
310 0
|
12月前
|
JSON 算法 安全
harmony-utils之SM3,SM3工具类
harmony-utils是一款HarmonyOS工具库,提供丰富的SM3加密工具类,支持摘要、分段处理及消息认证码计算,助力开发者高效构建安全应用。
554 0