栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud2020版本发布

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud2020版本发布

前言:

2020 年 12 月 22 日Spring官方博客宣布,Spring Cloud 2020.0.0正式发布。2020.0.0是第一个使用新的版本号命名方案的Spring Cloud发行版本。在此之前Spring Cloud使用英国伦敦地铁站的命名方式来命名一个大版本(train version),如果不按照新的版本号命名的话,本次的版本号应该是Ilford;

更新版本没有什么大惊小怪的,但是本次更新却正式开启结束Spring Cloud Netflix体系的进程。Netflix公司是目前微服务落地中最成功的公司;

它开源了诸如Eureka、Hystrix、Zuul、Feign、Ribbon等等广大开发者所知微服务套件,统称为Netflix OSS;

在当时Netflix OSS成为微服务组件上事实的标准;但是微服务兴起不久,也就是在 2018 年前后Netflix公司宣布其核心组件Hystrix、Ribbon、Zuul、Eureka等进入停更状态,不再进行新特性开发,只修 BUG;为什么会这样?具体缘由种种,比如:核心开发人员被挖走、开发团队意见不统一等等,活生生把自己给玩死了。

Netflix停更直接影响了Spring Cloud项目的发展路线,Spring 官方不得不采取了应对措施,在 SpringOne 2019 大会中,Spring Cloud宣布 Spring Cloud Netflix 项目进入维护模式,并在 2020 年移除相关的Netflix OSS组件。

1.Netflix哪些组件被移除了?

如今Netflix OSS在Spring Cloud体系的时代已经落幕了;

Spring Cloud官方尤其着重指出ribbon、hystrix 和 zuul从Spring Cloud 2020.0正式版发布后将不再被Spring Cloud支持。在目前最新的Spring Cloud 2020.0中仅仅剩下了Eureka;但是留给Eureka的时间也不多了。Feign 虽然是Netflix公司开源的,但从 9.x 版本开始就移交给OpenFeign组织管理,不从属于Netflix OSS范畴。

2. 有哪些替代方案?

 Netflix OSS事件变故让Spring家族吃一堑长一智,微服务开发者不必担忧Netflix OSS被移除后会留下空白。

Spring Cloud在研发维护基础标准和组件的同时,引入了一些云厂商来分散风险,目前有: 

  • 微软的Spring Cloud Azure

  • 阿里的Spring Cloud Alibaba

  • 亚马逊的Spring Cloud for Amazon Web Services

  • 谷歌云平台的 Spring Cloud GCP。 

3. SpringCloud 2020最新版本

 SpringCloud官网截止到现在,最新版本更新到SpringCloud 2020.0.4,前段时间才刚发布,这是错误修正版本,兼容 Spring Boot 2.4.x  and 2.5.x。

但目前工程只完成了百分之60,还在迭代中。

相对于上个版本主要更新内容:

Spring Cloud Commons
  • 允许通过 group 创建反应式断路器

Spring Cloud Config
  • 当使用 JDBC 作为存储时,可以返回 Boolean、 Integer 数据

  • 当使用 Git 作为存储时,可以动态的提供 用户名、密码

Spring Cloud OpenFeign
  • 支持修改 feignclient 的断路器类型

Spring Cloud Netflix
  • 当 eureka 服务不可用时,不注册到相关的配置中心

Spring Cloud Sleuth
  • 简化相关的参数显示

Spring Cloud Kubernetes
  • 统一 fabric8 和 k8s 之间的命名空间方式

依赖升级
模块版本
Spring Cloud Starter Build3.0.4
Spring Cloud Netflix3.0.4
Spring Cloud Openfeign3.0.4
Spring Cloud Gateway3.0.4
Spring Cloud Commons3.0.4
Spring Cloud Config3.0.5
Spring Cloud Consul3.0.4
Spring Cloud Contract3.0.4
Spring Cloud Kubernetes2.0.4
Spring Cloud Sleuth3.0.4
Spring Cloud Vault3.0.4
Spring Cloud Zookeeper3.0.4
Spring Cloud CircuitBreaker2.0.2
Spring Cloud Stream3.1.4
Spring Cloud Function3.1.4

4. 微服务建议技术方案

先看各大组件目前维护状态

具体技术选型还是根据项目自身综合考虑,这里只给大家建议组件方面选型;经过调研,国内BAT以及传统技术公司,好用、用的比较多的。

服务注册中心:Eureka、Zookeeper、Consul、Nacos,推荐使用SpringCloud Alibaba的Nacos

服务调用:feign、openfeign,推荐使用SpringCloud的openfeign

负载均衡服务调用:Ribbon、LoadBalancer,推荐使用SpringCloud的LoadBalancer

断路器:Hystrix、resilience4j、sentinel,推荐使用SpringCloud Alibaba的sentinel

服务网关:Zuul、Zuul2、gateway,推荐使用SpringCloud Alibaba的gateway

服务配置:Config、Nacos,推荐使用SpringCloud Alibaba的Nacos

服务总线:Bus、Nacos,推荐使用SpringCloud Alibaba的Nacos

总结:

微服务是现在企业用的最多的解决方案,Java中用的最多的也就是SpringCloud

现在技术版本升级越来越快,由于Netflix OSS版本的停更 ,我们公司项目前段时间重新进行选型,做了很多的调研,也是花了足够大的成本去做这个事情;

最后决定采用微服务方案版本为:SpringCloud 2020.0.3 + SpringCloud Alibaba 2.2.1.RELEASE + SpringBoot 2.5.2

SpringCloud与SpringBoot版本兼容对应:https://start.spring.io/actuator/info

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274719.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号