【SpringCloud】为什么选择微服务?

一般的平台会遇到的问题:

服务配置复杂。基础服务多,服务的资源配置复杂,传统方式管理服务复杂

服务之间调用复杂。检索服务、用户中心服务等,服务之间的调用复杂,依赖多

服务监控难度大。服务比较多,机器部署复杂,服务存活监控、业务是否正常监控尤为重要

服务化测试问题。服务依赖性比较大,测试一个小的功能,周边服务也需要启动

那么微服务的架构有什么优势呢?

先来看看两者的区别

|-----------|------------|--------------|
| | 传统单体架构 | 分布式微服务架构 |
| 新功能开发 | 需要时间 | 容器开发和实现 |
| 部署 | 不经常且容易部署 | 经常发布,部署复杂 |
| 隔离性 | 故障影响范围大 | 故障影响范围小 |
| 架构设计 | 难度小 | 难度级数增加 |
| 系统性能 | 响应时间快,吞吐量小 | 响应时间慢,吞吐量大 |
| 系统运维 | 运维简单 | 运维复杂 |
| 技术 | 技术单一且封闭 | 技术多样且开放 |
| 测试和查错 | 简单 | 复杂 |
| 系统扩展性 | 扩展性很差 | 扩展性很好 |
| 系统管理 | 重点在于开发成本 | 重点在于服务治理和调度 |

由此可见,分布式系统虽然有一些优势,但也存在一些问题

  • 架构设计变得复杂(尤其是分布式事务)
  • 部署单个服务会比较快,但一次部署多个服务会变得复杂
  • 系统的吞吐量会变大,但是响应时间会变长
  • 运维复杂度会因为服务变多而变得很复杂
  • 架构复杂导致学习曲线变大
  • 测试和查错的复杂度增大
  • 技术很多样,带来维护和运维的复杂度提升
  • 管理分布式系统中的服务和调度变得困难且复杂

简而言之,分布式系统架构的难点在于系统设计、管理和运维

参考资料:《微服务架构实战》------ 张锋

一 叶 知 秋,奥 妙 玄 心

相关推荐
麦兜*1 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
一眼万年048 小时前
Redis Cluster模式
redis·微服务
要开心吖ZSH15 小时前
微服务架构的演进:迈向云原生
java·微服务·云原生
慌糖1 天前
微服务介绍
微服务·云原生·架构
沃夫上校1 天前
Feign调Post接口异常:Incomplete output stream
java·后端·微服务
阿里云云原生1 天前
开启报名|Nacos3.0 开源开发者沙龙·杭州场 Agent&MCP 专场
微服务
小小霸王龙!1 天前
互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用
java·spring boot·redis·微服务·电商
「、皓子~2 天前
后台管理系统的诞生 - 利用AI 1天完成整个后台管理系统的微服务后端+前端
前端·人工智能·微服务·小程序·go·ai编程·ai写作
白仑色2 天前
Spring Cloud 微服务(统一网关设计)
spring cloud·微服务·服务治理·统一配置管理·分布式配置中心
述雾学java2 天前
Spring Cloud 服务追踪实战:使用 Zipkin 构建分布式链路追踪
分布式·spring·spring cloud·zipkin