距离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依赖,你就可以将新的BlockingLoadBalancerClientRestTemplate一起使用了。

同时,该依赖的引入也将支持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 Cloud Hoxton正式发布,Spring Boot 2.2 不再孤单的更多相关文章

  1. spring cloud:搭建基于consul的服务提供者集群(spring cloud hoxton sr8 / spring boot 2.3.4)

    一,搭建基于consul的服务提供者集群 1,consul集群,共3个实例: 2, 服务提供者集群:共2个实例: 3,服务消费者:一个实例即可 4,consul集群的搭建,请参考: https://w ...

  2. spring cloud:通过client访问consul集群(spring cloud hoxton sr8 / spring boot 2.3.4)

    一,为什么要搭建consul的client? 1,网上的很多资料,访问consul时用的单机模式,这样是不可以直接在生产环境中使用的 还有一些资料,搭建了consul的集群后,直接访问集群中的某一个i ...

  3. Spring Cloud Finchley 正式发布,包含 4 个重大更新!

    在 Spring 的官方博客上已经看到 Spring Cloud Finchley 在 06 月 19 日这一天正式发布了,我们在 Maven 中央仓库也看到了最新版的更新. Finchley 正式版 ...

  4. 【spring cloud hoxton】Ribbon 真的能被 spring-cloud-loadbalancer 替代吗

    背景 早上刷圈看到 Spring Cloud Hoxton.M2 Released 的消息,随手发布到了我的知识星球,过了会有个朋友过来如下问题. 抽取半天时间学习spring-cloud-loadb ...

  5. Spring Cloud学习笔记--Spring Boot初次搭建

    1. Spring Boot简介 初次接触Spring的时候,我感觉这是一个很难接触的框架,因为其庞杂的配置文件,我最不喜欢的就是xml文件,这种文件的可读性很不好.所以很久以来我的Spring学习都 ...

  6. Spring Cloud Bus介绍--Spring Cloud学习第七天(非原创)

    一.什么是Spring Cloud Bus二.Spring Cloud Bus之RabbitMQ介绍三.Spring Cloud Bus整合RabbitMQ四.Spring Cloud Bus整合Ka ...

  7. 【Spring Cloud】Spring Cloud之整合Spring Cloud Bus以及最佳实践

    一.整合步骤 1)加入Maven坐标 <!-- actuator监控模块 --> <dependency> <groupId>org.springframework ...

  8. Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)

    Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...

  9. spring Cloud网关之Spring Cloud Gateway

    Spring Cloud Gateway是什么?(官网地址:https://cloud.spring.io/spring-cloud-gateway/reference/html/) Spring C ...

随机推荐

  1. ES入门宝典(详细截图版)

    本文使用版本基于elasticsearch-6.4.0 1.什么是ES? 官网: https://www.elastic.co/products/elasticsearch  中文官网:https:/ ...

  2. JavaScript权威指南----一个JavaScript贷款计算器

    废话不多说上例子代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  3. 路径操作OS模块和Path类(全)一篇够用!

    路径操作 路径操作模块 os模块 os属性 os.name # windows是nt, linux是posix os.uname() # *nix支持 sys.platform #sys模块的属性, ...

  4. 每天3分钟操作系统修炼秘籍(14):IO操作和DMA、RDMA

    点我查看秘籍连载 I/O操作和DMA.RDMA 用户进程想要执行IO操作时(例如想要读磁盘数据.向磁盘写数据.读键盘的输入等等),由于用户进程工作在用户模式下,它没有执行这些操作的权限,只能通过发起对 ...

  5. web开发基本概念

    一.什么是静态页面,什么是动态页面? 答:静态页面是不需要网络请求就可以看到的页面,保存在本地. 动态页面是需要网络请求才可以看到的页面,保存在服务器. 二.网页的运行环境? 答:浏览器 客户端 三. ...

  6. 资深架构师Sum的故事:(Mysql)InnoDB下,存储过程中事务的处理

    | 故事背景 话说有一回,X市X公司的产品经理Douni兴致冲冲的跑来和Sum(Sum,X市X公司资历8年程序猿,技能:深思.熟虑.心细.深究.技术过敏.口头禅:嗯,容我想想.坚信:只要赚钱的业务,我 ...

  7. nyoj 169-素数 (打表)

    169-素数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:42 提交数:84 难度:1 题目描述: 走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦 ...

  8. Linq 三表 left join 的实现

    目的实现: select id,name,jname,cname from userinfo u left join job j on u.job=j.jid left join city c on ...

  9. 【接口测试】HttpClient+fastJson 总结与案例

    多次理解,反复练习,破釜沉舟. HttpCLient是什么 Apache Jakarta Common 下的子项目 支持 HTTP 协议的客户端编程工具包 支持 HTTP 协议最新的版本 怎么利用Ht ...

  10. 一 linuk系统简介

    开源软件 使用的自由,绝大多数开源软件免费 研究的自由,可以获得软件源代码 散播及改良的自由,可以自由传播 改良甚至销售 linuk应用领域 基于linuk的企业服务器 扫描踩点网站www.netcr ...