SpringCloud 经典技术
SpringCloud 经典技术
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。https://store.amazingmemo.com/chapterDetail/1685324709017001`
微服务项目近几年非常火爆,推出来的相关技术解决方案热度也非常活跃,但 SpringCloud 技术栈中也有一部分技术组件在逐步被淘汰或者闭源,但都有更优秀的技术方案替代。在不久的将来,那些闭源或者将被淘汰的技术有很大概率将不在项目中使用,所以我们学习的时候可以直接学习更优秀的替代技术方案。
Eureka 闭源:
上面英文大概意思是:Eureka 2.0
的开源工作已经停止,依赖于开源库里面的 Eureka 2.x
分支构建的项目或者相关代码,风险自负。
Eureka 在微服务项目中主要承担服务注册与发现工作,可以替代的技术方案比较多,而且很多方案都比 Eureka 优秀,比如 Consul、Nacos 等。
Hystrix 停止更新:
Hystrix 在项目中主要做服务熔断、降级,但官方宣布将不在开发,目前处于维护状态,但官方表示 1.5.18 版本的 Hystrix 已经足够稳定,可以满足 Netflix 现有应用的需求。
关于 Hystrix 可替代的产品也比较多,比如官方推荐的 resilience4j
,resilience4j
是一个轻量级熔断框架,但 resilience4j
目前在国内使用频率还不高,功能也不够强,我们更推荐使用功能更加强悍的 SpringCloud Alibaba Sentinel
。
Zuul 过时:
Zuul
是一个微服务网关技术,但 Zuul1.x
使用的是阻塞式的 API,不支持长连接,没有提供异步,高并发场景下性能低。SpringCloud
官网推出了全新的微服务网关技术 SpringCloud Gateway
,比 Zuul
性能更强悍、功能更丰富、且支持异步等多种特性。
SpringCloud Config 实用性差:
SpringCloud Config
主要用于管理项目的配置文件,每次要使用 SpringCloud Config
的时候,总得经过一波操作和配置的折腾,才可以使用 SpringCloud Config
实现配置管理,而且单独使用无法支持配置实时刷新,在项目中用起来,真比较头疼的。
当前有很多技术可以取代 SpringCloud Config
,比如携程的 Apollo
、SpringCloud Alibaba Nacos
,功能都比 SpringCloud Config
强,并且支持实时刷新配置。
SpringCloud Bus 实用性差:
SpringCloud Bus 是服务消息总线,主要实现通知多个服务执行某个任务,一般和 SpringCloud Config 一起使用。这个功能其实不太使用,因为很多任务组件基本都具备消息通知功能,比如 Nacos、Apollo 都能实现所有服务订阅执行相关操作。