微服務: 初識 Spring Cloud

什么是微服務?

微服務就像把一個大公司拆成很多小部門,每個部門各自負責一塊業務。這樣一來,每個部門都可以獨立工作,即使一個部門出了問題,也不會影響整個公司運作。

什么是Spring Cloud?

Spring Cloud 是一套工具包,幫助你管理和協調這些“小部門”(微服務)。比如后續提到的 Spring Cloud 各組件。

微服務和Spring Cloud之間的關系?

微服務是一種架構思想,而 Spring Cloud 是對于微服務實現的一種規范。當然很多地方也把 Spring Cloud 用來代指微服務,但二者還是不同的,前者是思想,或者是規范。

Spring Cloud 組件概述

Spring Cloud 第二代核心組件如下:

微服務功能第二代 (Spring Cloud Alibaba, SCA)

功能

作用
注冊中心Nacos管理和發現服務,類似于一個目錄,記錄了所有微服務的地址和信息。幫助服務之間找到對方。
客戶端負載均衡Spring Cloud Loadbalancer分配請求到不同的服務實例,確保負載均衡。避免單個服務實例過載,提升系統性能。
熔斷器Sentinel監控服務的流量和響應,自動熔斷異常的服務,防止故障擴散。保護系統在高并發或異常情況下的穩定性。
網關Spring Cloud Gateway充當服務之間的中介,處理所有進入的請求并將它們轉發到相應的服務。提供統一的訪問入口和安全管理。
配置中心Nacos集中管理應用配置,支持動態配置更新。簡化配置管理,提高系統的靈活性和可維護性。
服務調用Spring Cloud OpenFeign簡化服務之間的調用,提供HTTP客戶端的聲明式接口。讓服務之間的通信變得更加簡單和直觀。
鏈路追蹤Skywalking追蹤和監控分布式系統中的請求鏈路,幫助診斷性能問題。提供全面的系統監控和故障排查能力。
分布式事務Seata管理分布式系統中的事務,確保數據的一致性。解決在分布式系統中多個服務之間的數據一致性問題。

各組件之間的關系

這些組件各自有自己的職責,但在一個完整的微服務系統中,它們是如何協同工作的呢?可以用一個公司的部門運作來比喻:

  1. Nacos 就像公司的通訊錄,記錄了所有部門(服務)的聯系方式,方便大家互相聯系。
  2. Spring Cloud Loadbalancer 就像前臺的調度員,負責把來訪者(請求)分配給不同的員工(服務實例)。
  3. Sentinel 就像公司的安全系統,監控各個部門的工作狀態,如果發現某個部門出現異常,就會隔離該部門,防止影響全公司。
  4. Spring Cloud Gateway 就像公司的大門,所有來訪者(請求)都要經過這里,然后再被轉發到相應的部門。
  5. Nacos(配置中心) 就像公司的行政部門,負責管理所有的規章制度和配置文件,并且可以隨時更新。
  6. Spring Cloud OpenFeign 就像公司的內部聯系系統,讓各個部門之間可以方便地互相溝通。
  7. Skywalking 就像公司的監控系統,記錄每個部門的工作流程,幫助找到并解決問題。
  8. Seata 就像公司的財務部門,確保各個部門之間的交易和數據一致性。

總的來說,在微服務系統中,Nacos幫我們找到服務,Loadbalancer分配請求,Sentinel保護系統穩定,Gateway是入口大門,配置中心Nacos管理配置,OpenFeign讓服務互相打電話,Skywalking監控系統,Seata確保數據一致。它們一起合作,保證微服務系統高效、穩定地運行。

再舉個例子

  1. Nacos 就像快遞公司內部的物流管理系統,記錄了所有配送員(服務)的位置信息,方便調度和管理。
  2. Spring Cloud Loadbalancer 就像調度中心,負責將包裹(請求)分配給不同的配送員(服務實例),確保每個配送員的工作量均衡。
  3. Sentinel 就像快遞公司的安全系統,實時監控每個配送員的狀態,如果發現某個配送員出現問題,就會暫停其工作,防止影響其他配送員。
  4. Spring Cloud Gateway 就像快遞公司的總倉庫,所有包裹(請求)都要先到這里,然后再被分發到各個區域的配送員。
  5. Nacos(配置中心) 就像快遞公司的規章制度和操作手冊,規定了每個配送員的工作流程,并且可以隨時更新這些規定。
  6. Spring Cloud OpenFeign 就像快遞公司內部的通訊系統,讓各個配送員之間可以方便地互相聯系和協調工作。
  7. Skywalking 就像快遞公司的監控系統,記錄每個包裹的配送過程,幫助公司找到并解決配送中的問題。
  8. Seata 就像快遞公司的財務系統,確保每個包裹的收費和支付過程一致,不會出現差錯。

在這個快遞公司中,Nacos 記錄了所有配送員的位置,Loadbalancer 負責調度包裹,Sentinel 監控配送員的工作狀態,Gateway 是總倉庫,配置中心 Nacos 管理規章制度,OpenFeign 讓配送員互相聯系,Skywalking 監控配送過程,Seata 確保收費一致。它們一起協作,確保快遞公司高效、穩定地運作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41147.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41147.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41147.shtml

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

相關文章

Oracle RAC 19c 打補丁至最新版本-19.23.0.0.0

實驗環境-我是從19.0.0.0直接打到19.23.0.0.0,適合剛部署好的集群打補丁直接到最新版本。 查看當前環境 查詢集群中運行的 Oracle Clusterware 軟件的 activex 版 查詢本地節點上二進制文件中存儲的 Oracle Clusterware 軟件的版本 查詢本地服務器上 OHAS 和 Oracle…

U.S.News發布全美最佳本科AI專業排名

10 加州大學圣迭戈分校 University of California, San Diego UCSD的人工智能項目從事廣泛的理論和實驗研究,學校的優勢領域包括機器學習、不確定性下的推理和認知建模。除了理論學習,UCSD教授非常注重把計算機知識運用到自然語言處理、數據挖掘、計算…

20240707 每日AI必讀資訊

🧠中國生成式AI專利數量超過美國 6 倍 - 中國在2014年至2023年期間申請的生成式AI專利數量達到38210個,超過了美國的6倍。 - 騰訊、平安保險集團和百度是GenAI專利數量最多的中國公司。 - 中國的頂級學術機構和技術生態為生成式AI的發展提供了強大支持…

CC2530寄存器編程學習筆記_點燈

下面是我的CC2530的學習筆記之點燈部分。 第一步:分析原理圖 找到需要對應操作的硬件 圖 1 通過這個圖1我們可以找到LED1和LED2連接的引腳,分別是P1_0和P1_1。 第二步 分析原理圖 圖 2 通過圖2 確認P1_0和P1_1引腳連接到LED,并且這些引…

一體化運維:某省電力公司實現集中統一監控

在當今信息化高速發展的時代,電力公司作為國家基礎設施的重要組成部分,其IT系統的穩定性和高效性直接關系到電力供應的安全與穩定。為了提升運維效率,確保電力系統的持續穩定運行,某省電力公司采購十多套“監控易”運維軟件&#…

高算力智能監控方案:基于瑞芯微RK3576核心板開發NVR網絡視頻錄像機

近年來,隨著人工智能和物聯網技術的不斷發展,網絡視頻錄像機(NVR)在智能監控領域中的應用越來越廣泛。本文將圍繞RK3576核心板展開討論,探討其在NVR開發中的潛力和優勢。 一、RK3576核心板 RK3576是瑞芯微的新一代中…

14-35 劍和詩人9 - 普及 Agentic RAG

好吧,讓我們直接進入正題——了解 Agentic RAG(檢索增強生成)方法以及它如何徹底改變我們處理信息的方式。系好安全帶,因為這將變得瘋狂! Agentic RAG 的核心在于為 RAG 框架注入智能和自主性。這就像對常規 RAG 系統…

《Windows API 每日一練》8.4 edit控件

編輯類是最簡單的預定義窗口類,而另一方面卻又是最復雜的。當你用“edit”作為類名創建子窗口時,可以基于CreateWindow調用的x坐標、y坐標、寬度和高度參數定義一個矩形。這個矩形包含可編輯的文本。一旦子窗口控件獲得輸入焦點,你就可以輸入…

【文獻解析】Voxelmap——一種自適應體素地圖

Efficient and Probabilistic Adaptive Voxel Mapping for Accurate Online LiDAR Odometry 論文地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9813516 代碼:GitHub - hku-mars/VoxelMap: [RA-L 2022] An efficient and probabili…

制冷軟件SOLKANE單級制冷循環計算

SOLKANE軟件下載 單級制冷循環參數介紹 輸入數據: 1.蒸發器: 溫度:蒸發溫度t6(露點溫度)。 過熱:制冷劑t6-t6在蒸發器中過熱。 壓力損失:蒸發器入口和出口之間的壓力下降。 制冷量&#x…

Android12 MultiMedia框架之MediaExtractorService

上節學到setDataSource()時會創建各種Source,source用來讀取音視頻源文件,讀取到之后需要demux出音、視頻、字幕數據流,然后再送去解碼。那么負責進行demux功能的media extractor模塊是在什么時候階段創建的?這里暫時不考慮APP創建…

深圳晶彩智能ESP32-2432S028R實時觀察LVGL9效果

深圳晶彩智能ESP32-2432S028R概述: 深圳晶彩智能出品ESP32-32432S028R為2.8寸彩色屏采用分辨率320x240彩色液晶屏,驅動芯片是ILI9431。板載樂鑫公司出品ESP-WROOM-32,Flash 4M。型號尾部“R”標識電阻膜的感壓式觸摸屏,驅動芯片是…

基于MATLAB對線陣天線進行泰勒加權

相控陣天線——基于MATLAB對線陣進行泰勒加權 目錄 前言 一、泰勒綜合 二、單元間距的改變對泰勒陣列方向圖的影響 三、單元數的改變對泰勒陣列激勵分布的影響 四、副瓣電平SLL對泰勒陣列激勵幅度的影響 五、副瓣電平SLL對泰勒陣列方向圖的影響 六、泰勒陣列和切比雪夫陣…

量化交易在不同經濟周期中的表現

量化交易,作為一種基于算法和數學模型的交易方法,其在不同經濟周期中的表現受到了市場參與者的廣泛關注。量化交易策略的設計使其能夠在多種市場環境中尋找投資機會,無論是經濟擴張期還是衰退期,都能夠展現出其獨特的適應性和效率…

7.6數據結構作業

// 練習一 struct K { double a; //8 char b; //1 char c; //1 double d; //8 };//24 // 練習二 struct L { int a; //4 double b; //8 char c; //1 };//24 // 練習三 struct M { char a;//1 int b; //4 char c; //1 double d; //8 };//24 /…

(5) 深入探索Python-Pandas庫的核心數據結構:Series詳解

目錄 前言1. Series 簡介2. Series的特點3. Series的創建3.1 使用列表創建Series3.2 使用字典創建Series3.3 使用列表和自定義索引創建Series3.4 指定數據類型和名稱 4. Series的索引/切片4.1 下標索引:基于整數位置的索引4.2 基于標簽的索引4.3 切片4.4 使用.loc[]…

觸感網絡:WebKit 振動(Vibration API)的交互新維度

觸感網絡:WebKit 振動(Vibration API)的交互新維度 在數字化時代,用戶體驗的追求已經不僅限于視覺和聽覺,觸覺反饋也逐漸成為網頁交互設計的重要組成部分。WebKit 作為眾多現代瀏覽器的核心技術引擎,對振動…

Linux 文件描述符 fd

當然,以下是一些關于 Linux 文件描述符(fd)的示例,以清晰、分點表示和歸納的形式給出: 1. 文件描述符的基本概念和用途 定義:文件描述符是一個非負整數,用于指代被進程所打開或使用的文件、套…

Leetcode 59. 螺旋打印矩陣

題目描述 給你一個正整數 n ,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的 n x n 正方形矩陣 matrix 。 示例 1: 輸入:n 3 輸出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 輸入:n…

c++中new和delete重載的一點介紹

通義千問中作答的,感覺回答的比自己總結的好: 實際上,你可以在C中重載new和delete運算符。重載new和delete允許你自定義內存分配和釋放的行為,這對于實現特殊的內存管理策略非常有用,例如: 內存池&#xf…