Spring Cloud 是什么?(Spring Cloud 组件介绍)

什么是 Spring Cloud?

Spring Cloud 是微服务系统架构的一站式解决方案,是各个微服务架构落地技术的集合体,让架构师、 开发者在使用微服务理念构建应用系统的时候, 面对各个环节的问题都可以找到相应的组件来处理,比如我们构建微服务的过程中需要用到的注册中心、配置中心、负载均衡、断路器、网关等,Spring Cloud 都给我们提供了成熟的组件供我们来使用。

Spring Cloud 官网传送门

Spring Cloud 官网

Spring Cloud 和 Spring Boot 的版本对应关系

在这里插入图片描述

Spring Cloud 的组件

Spring Cloud 的组件非常多,其中有部分组件已经不在更新,不在更新的组件是可以继续使用的,不过不在更新的组件基本都有比较好的替代组件,由于 Spring Cloud 的组件非常多,这里简单的分享一些热门常用的组件。

Spring Cloud Netflix 的五大组件:

  • Eureka:注册中心,用于服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,提供了一个可以查看所有注册的服务的界面,早期的微服务基本都是使用 Eureka 作为注册中心,现在基本被 Nacos 取代。
  • Zuul:网关,客户端请求通过网关访问后台的服务,它可以使用一定的路由配置来判断某一个 URL 由哪个服务来处理,并从 Eureka 获取注册的服务来转发请求,早期的微服务基本都是使用 Zuul 作为网关,现在基本被 Gateway 取代。
  • Ribbon:负载均衡,网关将一个请求转发给某一个服务的时候,如果这个服务启动了多个实例,就会通过 Ribbon 来通过一定的负载均衡策略来发送给某个服务实例。
  • Feign:微服务之间的相互访问,使用 Feign 客户端来访问,如果某一个服务有多个实例的时候,默认会使用Ribbon来实现负载均衡。
  • Hystrix:微服务容错组件,提供了开箱即用的服务降级、熔断、监控等能力,Hystrix 可以通过短路器监控,返回一个可以处理的响应结果,保证服务调用线程不会长时间被占用,避免故障蔓延引发雪崩。

Spring Cloud Alibaba 组件

  • Nacos:我们使用 Nacos 最常用的功能就是注册中心,Nacos 除了注册中心之外还可以当配置中心、DNS服务来使用,也就是说 Nacos 可以完成服务发现、配置管理、DNS服务,一个组件可以完成 Config、Eureka、Bus 三个组件的功能。
  • Sentinel:直译是哨兵的意思,Sentinel 主要以流量为切入点,从流量控制、熔断降级、系统负载等多个维度来帮助用户提升服务的稳定性。
  • dubbo:Alibaba 提供了spring-cloud-starter-dubbo,对 dubbo 进行了封装,方便我们更好的让 dubbo 和 Spring Cloud 其他组件进行集成使用。
  • RocketMQ:Alibaba 开源的分布式消息系统,它基于高可用分布式集群技术,提供低延迟、高稳定性的消息发布和订阅服务,Alibaba 提供了spring-cloud-starter-stream-rocketmq,方便让 RocketMQ 和 Spring Cloud 的其他组件集成。

其他组件

  • Spring Cloud Gateway:网关组件,目前市场上最流行的网关服务,功能强大丰富,性能好,官方测试性能是 Zuul 的1.6倍,能与 SpringCloud 生态很好兼容,深得广大开发者的喜爱。
  • Spring Cloud OpenFeign:同Feign是一样的,是一个远程调用框架,Feign 已经停止更新,OpenFeign 在 Feign的基础上添加了对 Spring MVC 注释的支持,OpenFeign 的功能更加强大。
  • Spring Cloud Consul:Consul 是 HashiCorp 公司推出的开源工具,用于服务发现与配置,可以用作注册中心和配置中心,与其它分布式服务注册与发现的方案,Consul 更加全面,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工具, 并且使用起来也非常简单,Consul 安装包含一个可执行文件,部署简单,因为 Consul 是使用 go 语言编写的,移植性强。
  • Spring Cloud Config:Config 是一个配置中心组件,它包含了 client 和 server 两个部分,server 端提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client 端通过接口获取数据、并依据此数据初始化自己的应用。
  • Spring Cloud Bus:Bus 服务总线组件,使用轻量级的消息代理来连接微服务架构中的各个服务,可以将其用于广播状态更改(例如配置中心配置更改)或其他管理指令。
  • Spring Cloud Sleuth:Sleuth 是 Spring Cloud 提供的分布式跟踪解决方案,Sleuth 提供了链路追踪、性能分析、数据分析、优化链路、可视化错误分析等。

总结:本篇简单简单列出 Spring Cloud 相关组件,先对 Spring Cloud 组件有一个简单的认知,方面我们继续深入学习 Spring Cloud 知识。

如有不正确的地方请各位指出纠正。

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

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

相关文章

React 19 竞态问题解决

竞态问题/竞态条件 指的是,当我们在交互过程中,由于各种原因导致同一个接口短时间之内连续发送请求,后发送的请求有可能先得到请求结果,从而导致数据渲染出现预期之外的错误。 因为防止重复执行可以有效的解决竞态问题&#xff0…

聊天广场(Vue+WebSocket+SpringBoot)

由于心血来潮想要做个聊天室项目 ,但是仔细找了一下相关教程,却发现这么多的WebSocket教程里面,很多都没有介绍详细,代码都有所残缺,所以这次带来一个比较完整得使用WebSocket的项目。 目录 一、效果展示 二、准备工…

html+css+js图片手动轮播

源代码在界面图片后面 轮播演示用的几张图片是Bing上的&#xff0c;直接用的几张图片的URL&#xff0c;谁加载可能需要等一下&#xff0c;现实中替换成自己的图片即可 关注一下点个赞吧&#x1f604; 谢谢大佬 界面图片 源代码 <!DOCTYPE html> <html lang&quo…

安全测试之使用Docker搭建SQL注入安全测试平台sqli-labs

1 搜索镜像 docker search sqli-labs 2 拉取镜像 docker pull acgpiano/sqli-labs 3 创建docker容器 docker run -d --name sqli-labs -p 10012:80 acgpiano/sqli-labs 4 访问测试平台网站 若直接使用虚拟机&#xff0c;则直接通过ip端口号访问若通过配置域名&#xff0…

第十五章 Nest Pipe(内置及自定义)

NestJS的Pipe是一个用于数据转换和验证的特殊装饰器。Pipe可以应用于控制器&#xff08;Controller&#xff09;的处理方法&#xff08;Handler&#xff09;和中间件&#xff08;Middleware&#xff09;&#xff0c;用于处理传入的数据。它可以用来转换和验证数据&#xff0c;确…

【Linux进阶】文件系统5——ext2文件系统(inode)

1.再谈inode (1) 理解inode&#xff0c;要从文件储存说起。 文件储存在硬盘上&#xff0c;硬盘的最小存储单位叫做"扇区"&#xff08;Sector&#xff09;。每个扇区储存512字节&#xff08;相当于0.5KB&#xff09;。操作系统读取硬盘的时候&#xff0c;不会一个个…

记录excel表生成一列按七天一个周期的方法

使用excel生成每七天一个周期的列。如下图所示&#xff1a; 针对第一列的生成办法&#xff0c;使用如下函数&#xff1a; TEXT(DATE(2024,1,1)(ROW()-2)*7,"yyyy/m/d")&" - "&TEXT(DATE(2024,1,1)(ROW()-1)*7-1,"yyyy/m/d") 特此记录。…

charles使用教程

安装与配置 下载链接&#xff1a;https://www.charlesproxy.com/download/ 进行移动端抓包&#xff1a; 电脑端配置&#xff1a; 关闭防火墙 Proxy–>勾选 macOS Proxy Proxy–>Proxy Setting–>填入代理端口8888–>勾选Enable transparent http proxying 安装c…

昇思25天学习打卡营第1天|初识MindSpore

# 打卡 day1 目录 # 打卡 day1 初识MindSpore 昇思 MindSpore 是什么&#xff1f; 昇思 MindSpore 优势|特点 昇思 MindSpore 不足 官方生态学习地址 初识MindSpore 昇思 MindSpore 是什么&#xff1f; 昇思MindSpore 是全场景深度学习架构&#xff0c;为开发者提供了全…

女生学计算机好不好?感觉计算机分有点高……?

众所周知&#xff0c;在国内的高校里&#xff0c;计算机专业的女生是非常少的&#xff0c;很多小班30人左右&#xff0c;但是每个班女生人数只有个位数。这就给很多人一个感觉&#xff0c;是不是女生天生就不适合学这个东西呢&#xff1f;女生是不是也应该放弃呢&#xff1f;当…

常见算法和Lambda

常见算法和Lambda 文章目录 常见算法和Lambda常见算法查找算法基本查找&#xff08;顺序查找&#xff09;二分查找/折半查找插值查找斐波那契查找分块查找扩展的分块查找&#xff08;无规律的数据&#xff09; 常见排序算法冒泡排序选择排序插入排序快速排序递归快速排序 Array…

SpringBoot新手快速入门系列教程二:MySql5.7.44的免安装版本下载和配置,以及简单的Mysql生存指令指南。

我们要如何选择MySql 目前主流的Mysql有5.0、8.0、9.0 主要区别 MySQL 5.0 发布年份&#xff1a;2005年特性&#xff1a; 基础事务支持存储过程、触发器、视图基础存储引擎&#xff08;如MyISAM、InnoDB&#xff09;外键支持基本的全文搜索性能和扩展性&#xff1a; 相对较…

2024年江苏省研究生数学建模竞赛B题火箭烟幕弹运用策略优化论文和代码分析

经过不懈的努力&#xff0c; 2024年江苏省研究生数学建模竞赛B题火箭烟幕弹运用策略优化论文和代码已完成&#xff0c;代码为B题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模…

[学习笔记]SQL学习笔记(连载中。。。)

学习视频&#xff1a;【数据库】SQL 3小时快速入门 #数据库教程 #SQL教程 #MySQL教程 #database#Python连接数据库 目录 1.SQL的基础知识1.1.表(table)和键(key)1.2.外键、联合主键 2.MySQL安装&#xff08;略&#xff0c;请自行参考视频&#xff09;3.基本的MySQL语法3.1.规…

进程控制-fork函数

一个进程&#xff0c;包括代码、数据和分配给进程的资源。 fork &#xff08;&#xff09;函数通过系统调用创建一个与原来进程几乎完全相同的进程&#xff0c;也就是两个进程可以做完全相同的事&#xff0c;但如果初始参数或者传入的变量不同&#xff0c;两个进程也可以做不同…

DatawhaleAI夏令营2024 Task2

#AI夏令营 #Datawhale #夏令营 赛题解析一、Baseline详解1.1 环境配置1.2 数据处理任务理解2.3 prompt设计2.4 数据抽取 二、完整代码总结 赛题解析 赛事背景 在数字化时代&#xff0c;企业积累了大量对话数据&#xff0c;这些数据不仅是交流记录&#xff0c;还隐藏着宝贵的信…

【鸿蒙学习笔记】@Link装饰器:父子双向同步

官方文档&#xff1a;Link装饰器&#xff1a;父子双向同步 目录标题 [Q&A] Link装饰器作用 [Q&A] Link装饰器特点样例&#xff1a;简单类型样例&#xff1a;数组类型样例&#xff1a;Map类型样例&#xff1a;Set类型样例&#xff1a;联合类型 [Q&A] Link装饰器作用…

信号与系统-实验6-离散时间系统的 Z 域分析

一、实验目的 1、掌握 z 变换及其性质&#xff1b;了解常用序列的 z 变换、逆 z 变换&#xff1b; 2、掌握利用 MATLAB 的符号运算实现 z 变换&#xff1b; 3、掌握利用 MATLAB 绘制离散系统零、极点图的方法&#xff1b; 4、掌握利用 MATLAB 分析离散系统零、极点的方法&a…

MySQL基础篇(二)字符集以及校验规则

在MySQL基础篇&#xff08;一&#xff09;中&#xff0c;我们知道了如何创建数据库&#xff0c;这篇文章带大家了解创建的一些细节。 红色框&#xff1a;可省略&#xff0c;作用如果存在相同的数据库名称&#xff0c;就不会再创建&#xff0c;反之&#xff0c;创建。 蓝色框&…

uniapp 封装请求

新建request文件夹 下新建index.js 和index.js 或者创建units文件放入index.js 和api文件夹放入index.js(api.js)//看公司规范 1. index.js // 全局请求封装 // const base_url http://localhost:8080/devapi var base_url process.env.NODE_ENV development ? http://…