距离Spring Boot 2.2.0的发布已经有一个半月左右时间,由于与之匹配的Spring Cloud版本一直没有Release,所以在这期间碰到不少朋友咨询的问题都是由于Spring Boot和Spring Cloud版本不匹配导致。
很多时候,我们在学习或重建系统的时候都喜欢直接选用最高版本来开发,但是在使用Spring全家桶的时候,这样的选择不一定是最佳选择。主要还是由于Spring全家桶中各项目之间还存在一定的依赖关系。
尤其是在大版本迭代期间,是我们尤其要注意的。比如,这次Spring Framework、Spring Boot、Spring Cloud的升级,是一次整体的大版本的升级,涵盖了Spring Framework 5.2、Spring Boot 2.2、Spring Cloud Hoxton。
由于Spring Boot 2.2基于Spring Framework 5.2构建,而Spring Cloud Hoxton又基于Spring Boot 2.2构建。所以,在Spring Cloud Hoxton发布Release版本之前,出现了很多Spring Boot 2.2搭配Spring Cloud Greenwich版本使用而出现各种莫名问题的情况。
现在Spring Cloud Hoxton的正式发布,也预示着Spring Cloud用户可以正式开始往Spring Boot 2.2.x版本进行逐步升级。
Spring Cloud Hoxton版本内容
下面我们来关注下在Spring Cloud Hoxton版本中都提升了哪些内容。先来看看这次各依赖项目的版本升级:
- Spring Cloud Aws 2.2.0.RELEASE
- Spring Cloud Vault 2.2.0.RELEASE
- Spring Cloud Circuitbreaker 1.0.0.RELEASE
- Spring Cloud Cli 2.2.0.RELEASE
- Spring Cloud Gateway 2.2.0.RELEASE
- Spring Cloud Zookeeper 2.2.0.RELEASE
- Spring Cloud Starter Hoxton.RELEASE
- Spring Cloud Build 2.2.0.RELEASE
- Spring Cloud Config 2.2.0.RELEASE
- Spring Cloud Dependencies Parent 2.2.0.RELEASE
- Spring Cloud Starter Parent Hoxton.RELEASE
- Spring Cloud Sleuth 2.2.0.RELEASE
- Spring Cloud Contract 2.2.0.RELEASE
- Spring Cloud Gcp 1.2.0.RELEASE
- Spring Cloud Bus 2.2.0.RELEASE
- Spring Cloud Consul 2.2.0.RELEASE
- Spring Cloud Stream Horsham.RELEASE
- Spring Cloud Kubernetes 1.1.0.RELEASE
- Spring Cloud Openfeign 2.2.0.RELEASE
- Spring Cloud Commons 2.2.0.RELEASE
- Spring Cloud Dependencies Hoxton.RELEASE
Spring Cloud Task 2.2.0.RC1 - Spring Cloud Function 3.0.0.RELEASE
- Spring Cloud Hoxton.RELEASE
- Spring Cloud Netflix 2.2.0.RELEASE
- Spring Cloud Security 2.2.0.RELEASE
- Spring Cloud Release Hoxton.RELEASE
- Spring Cloud Cloudfoundry 2.2.0.RELEASE
在这次的版本升级中,我觉得以下几点是非常值得各位朋友关注和学习的:
新的负载均衡器实现
Spring Cloud Hoxton版本中第一次引入同时支持阻塞式与非阻塞式的负载均衡器来作为已经进入维护状态的Netflix Ribbon。
通过引入org.springframework.cloud:spring-cloud-loadbalancer依赖,你就可以将新的BlockingLoadBalancerClient与RestTemplate一起使用了。
同时,该依赖的引入也将支持Reactive应用,跟其他使用一样,只需要使用@LoadBalanced来修饰WebClient.Builder即可。
新的断路器实现
该项目中定义了断路器的抽象API,以及对各开源实现的整合封装,其中包括:
- Resilience4j
- Spring Retry
- Hystrix (spring-cloud-netflix)
- Sentinel (spring-cloud-alibaba)
- 加入更多Reactive支持
- Spring Cloud Gateway中增加ReactiveLoadBalancer
- 以下组件中增加ReactiveDiscoveryClient服务发现实现:
- Spring Cloud Netflix
- Spring Cloud Consul
- Spring Cloud Zookeeper
- Spring Cloud Openfeign
- Spring Cloud Cloudfoundry
- Spring Cloud Kubernetes
相关阅读
Spring Boot 2.2.0 正式发布,大幅性能提升 + Java 13 支持
Spring Boot 2.2.1 正式发布,需特别注意这个注解的使用!
今天就分享这么多啦,欢迎各位朋友在留言区评论,对于有价值的留言,我都会一一回复的。如果觉得文章对你有一丢丢帮助,请给我点个赞吧,让更多人看到该文章。
另外,小编最近将收集的Java程序员进阶架构师和面试的资料做了一些整理,免费分享给每一位学习Java的朋友,需要的可以进群:751827870,欢迎大家进群和我一起交流。
__________________end______________________
本文由博客一文多发平台 OpenWrite 发布!