1.1 认识微服务
一、微服务架构的演变
单体架构:将业务的所有功能集成在一个项目中开发,达成一包部署
优点:
架构简单
部署成本低
缺点:
耦合度高
分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,成为一个服务
优点:
降低服务耦合度
有利于服务升级拓展
缺点:
拆分粒度
集群地址如何维护
如何实现远程调用
健康状态如何感知
微服务:一种经过良好架构设计的分布式架构方案
优点:
单一职责,避免业务重复开发
面向服务
自制,独立(团队,技术,数据,部署)
隔离性强,避免级联失败
二、微服务技术对比
注册中心
Zookeeper、Redis
Eureka、Consul
Nacos、Eureka
服务远程调用
Dubbo协议
Feign(http协议)
Dubbo、Feign
配置中心
无
SpringCloudConfig
SpringCloudConfig、Nacos
服务网关
无
SpringCloudGateway、Zuul
SpringCloudGateway、Zuul
服务监控和保护
dubbo- admin,功能弱
Hystrix
Sentinel
三、SpringBoot、SpringCloud与SpringCloudAlibaba版本对应关系
3.0.x
2022.0.x
2022.x
17
2.6.x, 2.7.x (Starting with 2021.0.3)
2021.0.x
2021.x
1.8
2.4.x、2.5.x (Starting with 2020.0.3)
2020.0.x
2020.0
1.8
2.2.x、2.3.x(Starting with SR5)
Hoxton
2.2.x
1.8
2.1.x
Greenwith
greenwich
1.8
2.0.x
Finchley
finchley
1.8
1.5.x
Edgware
1.x
1.7
1.5.x
Dalston
-
备注:官网查看地址:https://spring.io/projects/spring-cloud
SpringCloudAlibaba版本查看地址:https://github.com/alibaba/spring-cloud-alibaba
注意:
SpringBoot 2.5 版本已经弃用Ribbon做OpenFeign的负载均衡操作
SpringCloudAlibaba在2021.x版本后弃用Ribbon做负载均衡
如果使用了不匹配的版本,那么会造成远程调用失败的问题,甚至启动失败的问题
最后更新于
这有帮助吗?