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.pswp.cn/web/41023.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41023.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41023.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

二叉樹的遍歷算法:前序、中序與后序遍歷

在數據結構與算法中,二叉樹的遍歷是基礎且重要的操作之一,它允許我們按照某種順序訪問樹中的每個節點。常見的二叉樹遍歷方式有前序遍歷(Preorder Traversal)、中序遍歷(Inorder Traversal)和后序遍歷&…

React 19 競態問題解決

競態問題/競態條件 指的是,當我們在交互過程中,由于各種原因導致同一個接口短時間之內連續發送請求,后發送的請求有可能先得到請求結果,從而導致數據渲染出現預期之外的錯誤。 因為防止重復執行可以有效的解決競態問題&#xff0…

聊天廣場(Vue+WebSocket+SpringBoot)

由于心血來潮想要做個聊天室項目 ,但是仔細找了一下相關教程,卻發現這么多的WebSocket教程里面,很多都沒有介紹詳細,代碼都有所殘缺,所以這次帶來一個比較完整得使用WebSocket的項目。 目錄 一、效果展示 二、準備工…

html+css+js圖片手動輪播

源代碼在界面圖片后面 輪播演示用的幾張圖片是Bing上的&#xff0c;直接用的幾張圖片的URL&#xff0c;誰加載可能需要等一下&#xff0c;現實中替換成自己的圖片即可 關注一下點個贊吧&#x1f604; 謝謝大佬 界面圖片 源代碼 <!DOCTYPE html> <html lang&quo…

內存對齊宏ALIGN的理解

內存對齊宏ALIGN的理解 在Android Camera HAL代碼中經常看到ALIGN這個宏&#xff0c;主要用來進行內存對齊&#xff0c;下面是v4l2_wrapper.cpp中ALIGN的一些定義 //v4l2_wrapper.cpp中內存分配進行對其的操作和定義#define ALIGN( num, to ) (((num) (to-1)) & (~(to-1)…

【Android】自定義換膚框架03之自定義LayoutInflaterFactory

AppCompatActivity是如何創建View的 Activity通過LayoutInflater解析出XmlLayout相關信息LayoutInflater內部維護了一個InflaterFactory對象InflaterFactory接口包含了一個onCreateView方法&#xff0c;用于創建View將解析出的Xml信息轉為AttributeSet&#xff0c;交給Inflate…

安全測試之使用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…

PyQt多線程詳解

PyQt多線程是在PyQt框架中利用多線程技術來提高應用程序的響應性和性能的一種方法。下面將詳細說明PyQt多線程的基本概念、應用場景以及實現方式。 一、PyQt多線程的基本概念 在PyQt中&#xff0c;多線程指的是在單個程序實例內同時運行多個線程。每個線程都可以執行不同的任…

第十五章 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…

俄羅斯方塊的python實現

俄羅斯方塊游戲是一種經典的拼圖游戲&#xff0c;玩家需要將不同形狀的方塊拼接在一起&#xff0c;使得每一行都被完全填滿&#xff0c;從而清除這一行并獲得積分。以下是該游戲的算法描述&#xff1a; 1. 初始化 初始化游戲界面&#xff0c;設置屏幕大小、方塊大小、網格大小…

昇思25天學習打卡營第1天|初識MindSpore

# 打卡 day1 目錄 # 打卡 day1 初識MindSpore 昇思 MindSpore 是什么&#xff1f; 昇思 MindSpore 優勢|特點 昇思 MindSpore 不足 官方生態學習地址 初識MindSpore 昇思 MindSpore 是什么&#xff1f; 昇思MindSpore 是全場景深度學習架構&#xff0c;為開發者提供了全…

女生學計算機好不好?感覺計算機分有點高……?

眾所周知&#xff0c;在國內的高校里&#xff0c;計算機專業的女生是非常少的&#xff0c;很多小班30人左右&#xff0c;但是每個班女生人數只有個位數。這就給很多人一個感覺&#xff0c;是不是女生天生就不適合學這個東西呢&#xff1f;女生是不是也應該放棄呢&#xff1f;當…

ubuntu 進入命令行

在Ubuntu中&#xff0c;有幾種方法可以進入命令行界面&#xff1a; 啟動時選擇命令行模式&#xff1a; 在計算機啟動時&#xff0c;如果安裝了GRUB引導加載器&#xff0c;可以通過GRUB菜單選擇進入命令行模式。這通常涉及到在啟動時按下Shift鍵或其他指定鍵來顯示GRUB菜單&…

常見算法和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.規…