SpringCloud基础知识

news2024/11/20 16:29:44

1、什么是SpringCloud

SpringCloud=分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体(微服务全家桶)。

查看官网:https://spring.io/

图片Spring Cloud本身不是新的框架,是一个全家桶式的技术栈,包含了很多组件,它是一系列框架的有机组合,利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。

2、SpringCloud与SpringBoot

想要使用一个技术,我们必须了解对应的版本环境,使用和学习时尽量不要用过时的。

1)查看SpringCloud版本(2021.0.3)

https://spring.io/projects/spring-cloud :

图片

spring cloud 版本名:

之前的spring cloud 版本名是根据英国伦敦地铁站名称的英文名称并按照字母a-z进行排序: Angel(天使)、Brixton(布里斯顿)、Camden(卡姆登)、Dalston、Edgware、Finchley、Greenwich、Hoxton

当SpringClould发布的内容积累到临近点或者一个重大bug被解决后,会发布一个“services release”版本,简称SRX版本,比如:Greenwich.SR2就是发布Greenwich版本的第二个SRX版本。

但是在2020年改变了命名规则,使用了全新的 “日历化” 版本命名方式。

日历式命名: Spring Cloud 使用了 YYYY.MINOR.MICRO 的命名规则 YYYY:表示 4 位年份 MINOR:代表一个递增的数字,每年以 0 开始递增 MICRO:代表版本号后缀,就和之前使用的 .0 类似于 .RELEASE 一样,.2 类似于 .SR2预发布版本的后缀分隔符也从 . 变更为 -。如2020.0.0-M1 和 2020.0.0-RC2 命名所示同时,Spring Cloud 将停止给快照版本添加 BUILD- 前缀,如:2020.0.0-SNAPSHOT 命名所示

2)查看SpringBoot版本

git源码地址:

https://github.com/spring-projects/spring-boot/releases

可查看当前最新版本新特性,修复了哪些问题等:

图片

也可官网查看版本:

图片

3)技术版本选型

SpringCloud与springBoot有严格的版本依赖,查看相应的对照关系:

https://spring.io/projects/spring-cloud

图片

更详细的版本信息可访问:

https://start.spring.io/actuator/info

将得到的json格式化,可清楚看到各版本更详细对照关系:

图片

二、Spring Cloud组件

微服务的演变过程,这里不过多赘述了,可参考:

https://baijiahao.baidu.com/sid=1702781007819802539&wfr=spider&for=pc

图片

1、Spring Cloud Netflix 组件

Spring Cloud Netflix框架刚好就满足了上面所有的需求,Spring Cloud Netflix包含的组件及其主要功能大致如下

Eureka,服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面。所有的服务使用Eureka的服务发现客户端来将自己注册到Eureka的服务器上。Zuul``,网关,所有的客户端请求通过这个网关访问后台的服务。他可以使用一定的路由配置来判断某一个URL由哪个服务来处理。并从Eureka获取注册的服务来转发请求Ribbon,即负载均衡,Zuul网关将一个请求发送给某一个服务的应用的时候,如果一个服务启动了多个实例,就会通过Ribbon来通过一定的负载均衡策略来发送给某一个服务实例。Feign,服务客户端,服务之间如果需要相互访问,可以使用RestTemplate,也可以使用Feign客户端访问。它默认会使用Ribbon来实现负载均衡。 Hystrix,监控和断路器。我们只需要在服务接口上添加Hystrix标签,就可以实现对这个接口的监控和断路器功能。 Hystrix Dashboard,监控面板,他提供了一个界面,可以监控各个服务上的服务调用所消耗的时间等。Turbine,监控聚合,使用Hystrix监控,我们需要打开每一个服务实例的监控信息来查看。而Turbine可以帮助我们把所有的服务实例的监控信息聚合到一个地方统一查看。这样就不需要挨个打开一个个的页面一个个查看。

2、Spring Cloud Alibaba 组件

由于SpringCloud Netflix版一些重要组件如注册中心Euraka、Ribbon已经不再迭代更新了,Spring Cloud Alibaba慢慢孵化出Spring Cloud Alibaba一套。

Spring Cloud Alibaba功能组件:

Nacos:Spring Cloud Alibaba 对服务注册、配置中心与负载均衡功能都整合进 Nacos,有图形化界面,简化了微服务架构的复杂度。Sentinel:服务保护组件也调整为 Sentinel,相较Hystrix功能更强大,使用也更加友好。把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。 Dubbo:高性能 Java RPC 框架。Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道.schedulerX、SMS、OSS等主要是阿里云的商业化产品就不再过多的进行介绍

3、SpringCloud其他相关组件

整个SpringCloud生态,不仅Netflix和Alibaba贡献了相关组件,还有Spring本身贡献了许多组件:

图片Spring Cloud 本身其实只是一套微服务规范,并不是一个拿来即可用的框架,Spring Cloud Netflix 和Spring Cloud Alibaba是为开发者提供了这套规范的实现方式。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

销售管理系统哪种好?

一、如何选择销售管理系统 销售管理软件其实就是我们常说的CRM软件,在激烈的市场竞争下,传统的销售管理模式不能满足有效跟进和及时维护客户的需求,在挖掘新客户和增强客户忠诚度方面也出现了一定弊端,因此销售管理软件应运而生&…

作者等级与权益说明

「创收计划」3.0上线,全面助力资源优质创作者 创:代表创作者收:代表收获 截止目前,文库资源频道已开放20细分领域,每个领域又进行详细的细分,在每个细分的品类上,我们已经收获了来自广大创作者…

基于AT89C51单片机的简易计算器的设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87755299?spm1001.2014.3001.5503 源码获取 本设计是以单片机AT89C51为核心的简易计算器设计,要通过芯片AT89C51实现计算器程序运行来完成加、减、乘…

python--读取TRMM-3B43月平均降水绘制气候态空间分布图(陆地区域做掩膜)

python–读取TRMM-3B43月平均降水绘制气候态空间分布图(陆地区域做掩膜) 成果展示 TRMM降水数据介绍 热带降雨测量任务(The Tropical Rainfall Measuring Mission,TRMM)是美国国家航空航天局(NASA)和日本国家太空发展署(National Space Dev…

刚转岗做项目经理,无从下手,怎么办?

01 背景 最近在知乎平台看到一个问题是这么说的: 或许很多人都不是从工作开始就是项目专员再到项目经理这里一步一步过来,而是从其他岗位比如售前、销售、产品经理、程序员等转到项目经理岗位的。 那么对于这些人来说,做项目经理会有什么问…

第一次找实习, 什么项目可以给自己加分(笔记)

什么样的项目能简历加分、对找工作有帮助 基本特征: 一个特征是“硬核基础软件”,另一个为很实用的APP。 硬核基础软件 独立实现一个操作系统的kerne内核(操作系统的内部引擎) 北美计算机名校会让学生用一个学期的时间实现一个…

冒险岛私人服务器详细架设教程

冒险岛Online   《冒险岛Online》是由韩国WIZET和NEXON制作开发的一款2D横版卷轴网络游戏,于2004年7月24日在中国大陆正式上线,由盛大游戏负责运营。   故事以被“黑暗力量”不断入侵,因而进入了“浑沌期”的世界为背景,勇士们…

微服务知识3

Gateway核心概念 路由(route) 网关中最基础的部分,路由信息包括一个ID,一个目的URI,一组谓词工厂,一组Filter组成。如果谓词为真,则说明请求的URL和配置的路由匹配 谓词(preducates) 即java.util.function.Predica…

atbf中imu数据的读取与处理方式

一、说明 本文为作者在阅读atbf源码的过程中,对atbf中imu数据的读取和处理方式的个人理解,可能存在不对之处,意在抛砖引玉,请各位老师多多指正; 二、数据读取流程图 1、target NEUTRONRCF435SE 不同的target所定义…

C++中的queue与priority_queue

文章目录 queuequeue的介绍queue的使用 priority_queuepriority_queue介绍priority_queue使用 queue queue的介绍 队列是一种容器适配器,专门用于上下文先进先出的操作中。队列的特性是先进先出,从容器的一端插入,另一端提取元素。   队列…

Java17的性能优势是否足以让它取代Java8?

随着时间的推移,Java不断地进行更新和发展,以满足不断变化的业务需求。目前,Java8已经成为了一个非常成熟的版本,并且在各个领域广泛应用。但是,Java17也早已发布,并且是Java 11以来又一个LTS(长期支持)版本…

vmware虚拟机安装k8s(之前已经安装过docker)

1、安装开始 先执行:curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add 再执行更改源:echo "deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main" >> /etc/apt/sources.list …

单向链表——C语言实现

哈喽,大家好,今天我们学习的是数据结构里的链表,这里主要讲的是不带哨兵卫头节点的单向链表,下篇将会继续带大家学习双向链表。 目录 1.链表的概念 2.单向链表接口的实现 2.1动态申请一个节点 2.2单链表打印 2.3单链表尾插 …

强大的editplus 5.7

EditPlus是一款由韩国 Sangil Kim (ES-Computing)出品的小巧但是功能强大的可处理文本、HTML和程序语言的Windows编辑器,你甚至可以通过设置用户工具将其作为C,Java,Php等等语言的一个简单的IDE。 EditPlus(文字编辑器&#xff0…

Java学习-MySQL-数据库的设计

Java学习-MySQL-数据库的设计 为什么需要设计数据库 当数据库比较复杂的时候,需要设计数据库。 糟糕的数据库设计: 数据冗余,浪费空间;数据库插入和删除很麻烦,可能导致异常(屏蔽使用物理外键&#xff0…

机器学习实战教程(十三):集成学习

简介 集成学习是一种机器学习方法,它旨在通过将多个单独的学习器(称为基分类器或基学习器)的预测结果进行组合,来提高整体的预测准确率。 集成学习可以看作是一种“多个人一起合作做事”的方法。每个基分类器都是独立的学习器&a…

【恭喜宿主:你的神装Xpath到手】——07全栈开发——如桃花来

目录索引 什么是XML:文档演示: XML的节点关系:1.父节点:2. 子节点:3. 同胞节点:4. 先辈节点:5. 后代节点: Xpath:1. 相关语法:*最常用的路径表达式&#xff1…

Android Studio实现文艺阅读App

项目目录 一、系统概述二、系统特点三、开发环境四、运行演示五、源码获取 一、系统概述 本次带来的文艺阅读App可以提供高质量的原创文学作品。用户可以App中找到各种类型的文学作品,包括小说、散文、诗歌等,由来自不同领域的作家所创作。此外&#xf…

对不起,我们不招还在用Excel的人,和金山系新秀比起差太远了

相信点进来的朋友曾经也深受Excel荼毒。 的确,现如今在网上随便一搜,关于Excel的学习资料和答疑解惑的帖子不胜枚举,盖因为Excel有时太过热心,当然,是帮倒忙的那种热心。 自动把天数转换为日期,还替你把身…

Flume 从入门到精通

Flume Flume 是一种分布式、可靠且可用的服务 高效收集、聚合和移动大量日志 数据。 它具有基于流媒体的简单灵活的架构 数据流。它坚固耐用,容错,可靠性可调 机制以及许多故障转移和恢复机制。 它 使用允许在线分析的简单可扩展数据模型 应用。 系统要求…