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

【SpringCloud】为什么选择微服务?_第1张图片

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

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

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

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

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

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

先来看看两者的区别 

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

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

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

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

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

一  叶  知  秋,奥  妙  玄  心 

你可能感兴趣的:(SpringCloud,spring,cloud,微服务)