详解Spring Cloud版本问题

目录

1.让人头疼的多版本号体系

2.目录关系

3.为什么会有多个版本号体系


1.让人头疼的多版本号体系

由于历史原因,spring cloud分为了Alibaba和Netflix两个体系。

想要了解原因以及整个spring cloud体系的来龙去脉的同学可以去看我的另一篇文章:

SpringCloud概论__BugMan的博客-CSDN博客

知道以上前情后,我们来看看spring cloud的版本号有多乱:

打开官网首先有个总项目的版本列表:

816beaa091e24517a57a9542c842aa77.png

然后往下翻是,Netflix的spring cloud和spring boot各版本之间的适配关系:

也就是说Netflix的版本号应该是列表中那样的。

111f8a1db3964fe38ff2533f6fb63def.png

但是我们点进Netflix的项目会发现它的版本号列表是这样的:

301e09d07afd4d189354c7709412a255.png

ok,这个时候才开始入门的小伙伴就蒙蔽了,会有以下几个疑惑:

  • 既然是分成了Alibaba和Netflix两个体系,为什么spring cloud这个总项目列表还会有个版本号
  • spring boot适配的适配列表中显示的Netflix的版本号列表为什么会和点进Netflix中看见的版本号列表不一样,为什么会有两套Netflix的版本号?
  • 我要用spring cloud的时候到底该用哪一个的maven坐标?

本文会先从组件关系讲起,理清楚spring cloud的项目目录结构,然后再顺着理清楚版本号问题。

2.目录关系

首先我们需要理清楚整个spring cloud生态圈里组件之间的关系,也就是官网的目录为什么是那个样子。

要实现微服务,最核心的问题是:

  • 服务注册和发现
  • 容错

Netflix和Alibaba两个体系对以上两点给出了自己不同的实现,总的来说就是各自推出了不同的注册中心组件和容错组件。除此之外在易能力扩展上,都是通集成接入第三方组件来实现的,如网关、总线、配置中心。

有了这个认识我们再来看整个spring cloud的项目列表就不会这么晕了。

我们进入spring官网,可以看到Alibaba和Netflix两个子项目,和与他们同级的很多子项目,Alibaba和Netflix的项目下包含了自己的注册中心组件和容错组件,和Alibaba、Netflix同级的,是一些扩展的三方组件如gateway(网关)、config(配置中心)、bus(总线)等。

da26199db2d946c29b60837aaec1c894.png

3.为什么会有多个版本号体系

其实组件关系理清楚后,版本号的问题就很好明白了了。虽然由于历史原因,spring cloud分成了Alibaba和Netflix两派,但spring cloud是Netflix先做出来的,所以官网上还是以Netflix为中心来对整个spring cloud进行描述的。真正的Netflix自己推出的全家桶的版本其实就是适配列表里列出来的那些版本:

3f8f4dbefeac4469a679290b22388c73.png

我们随便点进一个版本的Netflix的全家桶,可以看到其实就是注册中心(Spring Cloud Neflix)+其它组件:

5b0fdac0d2f94b1c8f598171393bd2d0.png

 后面Netflix的spring cloud的核心研发人员离职后,公司就将自己的spring cloud贡献给了spring cloud官方社区,由官方社区来对Netflix体系的spring cloud进行迭代。所以总项目上的版本号列表是spring cloud官方社区接收Netflix体系后迭代更新出来的版本:

504a874fb18745b9b9ecf2442c5dc6c5.png

随便点进去一个版本,可以看到其实也是围绕Netflix给出的一个全家桶:

3cfa20129ade4270978f065ffadb1e51.png

然后官网上spring cloud Netflix这个子项目就只单纯的维护eureka版本:

a40200da6840464d9af609f26c3ccbf5.png

我们点进随便一个版本,可以看到,就是很单纯的eureka:

37ff52e4ccff4914ba532e1e7e57a37b.png

 至于spring cloud Alibaba,就很与世无争,就单纯的维护好自己的版本号:

0abee8c2ec214b54acee599c7c0a286c.png

维护好自己的nacos和sentinel:

90bc044f6b3846169507320c96cbebcd.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/31665.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信息系统之网络安全方案 — “3保1评”

信息系统之网络安全方案 — “3保1评” 序:什么是“3评1保”?一、网络安全等级保护1.1 概念1.2等保发展1.3法律要求1.4分级及工作流程 二、涉密信息系统分级保护2.1概念2.2法律要求2.3分级及工作流程 三、关键信息基础设施保护3.1概念3.2关保的发展3.3法…

(UE4/UE5)Unreal Engine中使用HLOD

本教程将详细介绍在Unreal Engine的不同版本(4.20-4.24、4.25-4.26、5.2)中如何使用Hierarchical Level of Detail (HLOD)。注意,每个版本中使用HLOD的方法可能会有所不同。 一、预先生成LOD 步骤一:预先生成LOD打开UE4.21&…

C语言贪吃蛇课程设计实验报告(包含贪吃蛇项目源码)

文末有贪吃蛇代码全览,代码有十分细致的注释!!!文末有贪吃蛇代码全览,代码有十分细致的注释!!!文末有贪吃蛇代码全览,代码有十分细致的注释!!! 码文不易,给个免费的小星星和免费的赞吧,关注也行呀(⑅•͈ᴗ•͈).:*♡ 不要白嫖哇(⁍̥̥̥᷄д⁍̥̥…

解决Vuex刷新页面数据丢失的问题

参考: https://blog.csdn.net/qq_51441159/article/details/128047610 方法一(不使用插件): 1、直接在vuex修改数据方法中将数据存储到浏览器本地存储中 import Vue from vue; import Vuex from vuex;Vue.use(Vuex);export defa…

Java——《面试题——MyBatis篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 目录 前文 1、什么是MyBatis 2、说说MyBatis的优点和缺点 3、#{}和${}的区别是什么? 4、当实体类中的属性名和…

Nginx-Goaccess(实时日志服务)

goaccess的功能 1、使用webscoket协议传输(双向传输协议)2、基于终端的快速日志分析器3、通过access.log快速分析和查看web服务的统计信息、PV、UV4、安装简单、操作简易、界面炫酷5、按照日志统计访问次数、独立访客数量、累计消耗的带宽6、统计请求次…

Redis知识点

Redis是一个数据库,不过与传统数据库不同的是Redis的数据库是存在内存中,所以读写速度非常快,因此 Redis被广泛应用于缓存方向。 除此之外,Redis也经常用来做分布式锁,Redis提供了多种数据类型来支持不同的业务场景。除…

Ansible剧本(playbook)

一、playbooks 概述以及实例操作 1、playbooks 的组成 playbooks 本身由以下各部分组成 (1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 (2)Variables&#xff1…

Ubuntu 22 服务器端安装图形化界面

文章目录 前言一、什么是图形化界面二、操作步骤1、更新安装工具2、开始安装3、重启 总结 前言 Ubuntu 系统做得是越来越好了,从CentOS 不再提供维护后,越来越多的企业和公司从CentOS转到Ubuntu服务器系统,转了之后才发现,它比Ce…

MySQL数据库日志管理、备份与恢复

目录 一、MySQL 日志管理 二、数据备份的重要性 造成数据丢失的原因 三、数据库备份的分类 1 、从物理与逻辑的角度 (1)备份划分 (2) 物理备份方法 2、 从数据库的备份策略角度 四、常见的备份方法 1、物理冷备 2、专用备…

解决安卓12限制32个线程

Android 12及以上用户在使用Termux时,有时会显示[Process completed (signal 9) - press Enter],这是因为Android 12的PhantomProcesskiller限制了应用的子进程,最大允许应用有32个子进程。 这里以ColorOS 12.1为例(其他系统操作略…

前端vue入门(纯代码)14

内容创作不易,各位帅哥美女,求个小小的赞!!! 【15.给todoList案例添加编辑按钮】 本篇内容在TodoList案例的基础上添加个编辑按钮,要求: (1)点击编辑按钮后&#xff0c…

数据挖掘——宁县(区、市)农村居民人均可支配收入影响因子分析(论文)

《数据挖掘与分析》课程论文 题目:宁县(区、市)农村居民人均可支配收入影响因子分析 xx学院xx班:xxx 2022年6月 摘要:农村居民人均可支配收入可能被农作物产量、牲畜存栏、农作物播种数量等诸多因素影响。为此&#…

我的内网渗透-代理转发(1)

概念 网关 必须经过 用来进行路由转发的设备,网关的作用是让不同网段之间能够通信 代理 委托访问 无论代理后面挂了几台设备,都认为是从代理进行访问,对外只表现为代理一台。外部认为是与代理进行…

css小兔鲜项目搭建

目录 精灵图 精灵图的使用步骤 背景图片大小 background连写 文字阴影 盒子阴影 过渡 骨架标签 SEO三大标签 版心的介绍 css书写顺序 项目结构搭建 精灵图 场景:项目中将多张小图片,合并成一张大图片,这张大图片称之为精灵图 优点…

机器人项目创新课题汇总提示

创新课题推荐自己思考并给出,如下案例仅供参考: 不想看,不愿意做,就遵循自己内心想法,做自己喜欢的事情吧。 题目和描述: 自动导航机器人:设计一种能够自主导航的机器人,可以在不需…

pgsql序列的使用

大家都知道pgsql和mysql不同,mysql字段有有自增属性,pgsql并没有,但是pgsql和oracle一样有序列,很多人刚接触pgsql的时候,并不知道序列是什么,怎么用,下面这篇文章就介绍序列,并且怎…

idea如何集成Tomcat

(1)、这里应该找Add Configuration点击这里:如果没有标志,点击Exit (2)、这里可以配置一个配置项: (3)、loacl是本地,那个是远程:这里我选择本地 (4&#xff…

DJ4-4 NAT、ICMP、IPv6

目录 一、NAT:网络地址转换 1、工作原理 2、NAT 的限制 二、ICMP 1、ICMP 协议 2、ICMP 类型和代码 3、Traceroute 命令 三、IPv6 地址 1、IPv6 的引入 2、IPv6 的表示 一、NAT:网络地址转换 动机:对外部网络来讲,本地…

11-高性能JSON库——fastjson2

目录 1.具体使用 1.1.添加fastjson2依赖 1.2.常用类和方法 1.3.将JSON字符串转换成对象 1.3.1.JSON字符串转换成对象 1.3.2.JSON字符串转换成数组 1.4.将对象转换成JSON字符串 1.4.1.将对象转换成JSON字符串 1.4.2.将数组转换成 JSON 字符串 2.性能测试报告 3.总结 …