SpringCloud全家桶---常用微服務組件(1)

在這里插入圖片描述

注冊中心:
*作用: 服務管理
Eureka(不推薦)[讀音: 優瑞卡]
Nacos(推薦)
Zookeeper [讀音: 如k波]
Consul [讀音:康壽]

**注冊中心的核心功能原理(nacos)**
服務注冊: 當服務啟動時,會通過rest接口請求的方式向Nacos注冊自己的服務
服務心跳:  NacosClient 會維護一個定時心跳持續通知NacosServer,默認5秒一次,超過15秒,會將服務健康狀態設置為false(拉去時會忽略),超過30秒會剔除
服務發現: nacosClient定時任務,實時去拉去健康服務
服務終止: NacosClient會主動通過Rest請求NacosService,

負載均衡:
* 作用: 客戶端的負載均衡
ribbon [讀音: 瑞本]
LodaBalancer(推薦)

服務調用
*作用: 能像調用本地方法一樣優雅
Feign(不推薦)
OpenFeign(推薦)
Dubbo

配置中心
SpringCloud config
NacosConfig(推薦)

服務熔斷:
*防止服務雪崩,防止流量激增打垮冷系統
Hystrix
sentinel(推薦) [讀音: 申特鬧 ]

分布式事務
Seata

有四種模式: AT、TCC、SAGA 和XA Seata實現原理:
兩個階段,三個角色
TC: 事務協調者,獨立運行seata-server,用于接受事務注冊,提交和回滾
TM: 事務管理者(發起者),告訴TC全局事務提交回滾
RM: 事務資源,每一個RM都會作為一個分支事務注冊在TCAT模式: 
第一階段: 
TM(事務發起者)向TC申請開啟一個全局事務,事務創建并生成一個全局唯一的XID
XID在微服務調用鏈路的上下文中傳播
① seata會攔截"業務sql",解析sql語句
②查詢 “業務SQL” 要更新的業務數據,在業務數據被更新前,將其保存成 “before image”
③執行 “業務SQL” ,更新業務數據
④查詢更新后的數據,將其保存成 “after image”
⑤將 before image 和 after image 保存至 Undo Log 表中
生成行鎖
以上操作全部在一個數據庫事務內完成,這樣保證了一階段操作的原子性。
提交前RM(事務資源)會向TC(事務協調者)注冊分支;
TM(事務發起者)向TC(事務協調者)發起針對XID的全局提交或回滾,將本地事務提交結果上報給TC第二階段:
提交:   因為 “業務SQL” 在一階段已經提交至數據庫,所以 Seata 框架只需將一階段保存的快照數據(Undo Log )和行鎖刪掉,完成數據清理即可。
回滾:   校驗當前數據和 after image 數據,數據一致說明沒臟寫,可以還原數據,臟寫了就要轉人工處理;
用before image 還原數據,刪除undolog數據和行鎖

服務網關
*作用: 一些本身跟業務無關的公共邏輯,鑒權,日志,限流,跨域
zuul
SpringCloudGateway(推薦)
linkred
Kong

業務網關: 降級/熔斷,負載均衡,鑒權,業務規則,參數校驗
流量網關:  安全策略,流量分發,跨域實現

鏈路追蹤
*作用: 追蹤服務健康狀況
Skywalking(推薦)
Zipkin

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

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

相關文章

Sora背后的論文(1):使用 lstms 對視頻展現進行無監督學習

之前那篇《Sora背后的32篇論文》發出后,大家都覺得不錯,有很多小伙伴都開始啃論文了。 那么我就趁熱打鐵,把這32篇論文的通俗解讀版貼一下。 從去年開始,我基本上形成了一個思維方式,任何事情做之前先看看 有沒有好的…

個人博客系列-環境配置-gitee(2)

注冊gitee賬戶 地址:https://gitee.com/ 此步驟省略 新建倉庫 執行以下命令 即可 拉取代碼 創建目錄 mkdir myCode && cd myCode 登錄gitee找到項目,點擊克隆,拉取代碼 連接遠程倉庫命令 git remote add origin 倉庫地址http…

MariaDB落幕和思考

聽過MySQL的基本也都知道 MariaDB。MariaDB由MySQL的創始人主導開發,他早前曾以10億美元的價格,將自己創建的公司MySQL AB賣給了SUN,此后,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。傳聞MySQL的創始人擔心…

創建型設計模式 - 原型設計模式 - JAVA

原型設計模式 一 .簡介二. 案例三. 補充知識 前言 這是我在這個網站整理的筆記,有錯誤的地方請指出,關注我,接下來還會持續更新。 作者:神的孩子都在歌唱 一 .簡介 原型模式提供了一種機制,可以將原始對象復制到新對象&#xff0…

[TCP] TCP/IP 基礎知識詞典(2)

我想統計一下,TCP/IP 尤其是TCP協議,能搜到的常見的問題,整理起來,關鍵詞添加在目錄中,便于以后查閱。 目前預計整理共3篇: [TCP] TCP/IP 基礎知識問答 :基礎知識 [TCP] TCP/IP 基礎知識問答&…

游戲平臺如何定制開發?

隨著科技的飛速發展和互聯網的普及,游戲平臺已成為人們休閑娛樂的重要選擇。為了滿足用戶多樣化的需求,游戲平臺的定制開發顯得尤為重要。本文將探討游戲平臺定制開發的過程、關鍵要素以及注意事項,為有志于涉足此領域的開發者提供參考。 一、…

python opencv繪制圖像輪廓

目錄 一:查找繪制輪廓 二:計算圖像的矩特征 三:計算Hu矩

ApexRBp在線粒子傳感器在電動汽車電池制造的應用

電動汽車電池的崛起與顆粒污染的挑戰 隨著電動汽車(EV)市場的迅速擴張,對高性能鋰離子電池的需求也急劇增加。這些電池不僅是EV的心臟,更是推動其前行的核心動力。然而,在電池制造的每一個環節,都需要對多…

【Python筆記-設計模式】適配器模式

一、說明 適配器模式是一種結構型模式,它使接口不兼容的對象能夠相互合作 (一) 解決問題 主要解決接口不兼容問題 (二) 使用場景 當系統需要使用現有的類,但類的接口不符合需求時當需要一個統一的輸出接口,但輸入類型不可預知時當需要創…

查詢數據庫的編碼集Oracle,MySQL

1、查詢數據庫的編碼集Oracle,MySQL 1.1、oracle select * from v$nls_parameters where parameterNLS_CHARACTERSET; 查詢版本:SELECT * FROM v$version 2、MySQL編碼集 SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SC…

【了解機器學習的定義與發展歷程】

曾夢想執劍走天涯,我是程序猿【AK】 目錄 簡述概要知識圖譜 簡述概要 了解機器學習的定義與發展歷程 知識圖譜 機器學習(Machine Learning,ML)是一門跨學科的學科,它使用計算機模擬或實現人類學習行為,通…

路由器的端口映射如何設置?

路由器的端口映射設置是網絡連接中常用的配置功能,通過將外部網絡訪問請求映射到內部設備,實現局域網內設備的遠程訪問。本文將介紹如何進行路由器的端口映射設置,并以【天聯】組網產品為例進行說明。 【天聯】組網產品介紹 【天聯】組網是一…

css3d制作正方體

使用css3d技術 &#xff0c;制作一個可以動態動畫的正方體模型 效果圖&#xff1a; 代碼如下&#xff1a; <!DOCTYPE html> <html> <head><style>/* 設置高度寬度100%并且左右居中、上下居中 */html,body {width: 100%;height: 100%;display: flex…

RENISHAW雷尼紹雙讀數頭系統應用分享

在精密回轉運動控制中&#xff0c;大多數場合都會對系統的回轉定位精度有嚴格的要求&#xff0c;RENISHAW雷尼紹圓光柵系統&#xff08;RESM增量和RESA絕對值&#xff09;對于回轉角度的反饋測量方案能有效的解決運動控制對回轉精度的需求。但是配置單個讀數頭的圓光柵系統的精…

C#最優隊列最小堆小頂堆大頂堆小根堆大根堆PriorityQueue的使用

最優隊列有多種叫法&#xff0c;什么小根堆&#xff0c;大根堆&#xff0c;小頂堆&#xff0c;大頂堆。 隊列分多種&#xff0c;線性隊列&#xff08;簡單隊列&#xff09;&#xff0c;循環隊列&#xff0c;最優隊列等等。 最優隊列&#xff0c;可以看作堆疊箱子&#xff0c;…

3分鐘看懂設計模式01:策略模式

一、什么是策略模式 定義一些列算法類&#xff0c;將每一個算法封裝起來&#xff0c;并讓它們可以互相替換。 策略模式讓算法獨立于使用它的客戶而變化&#xff0c;是一種對象行為型模式。 以上是策略模式的一般定義&#xff0c;屬于是課本內容。 在沒有真正理解策略模式之…

簡單幾步通過DD工具把云服務器系統Linux改為windows

簡單幾部通過DD安裝其他系統&#xff0c;當服務器的web控制臺沒有我們要裝的系統&#xff0c;就需要通過DD&#xff08;Linux磁盤&#xff09;工具來更改系統&#xff0c;&#xff08;已知支持KVM系統&#xff09; 本文如何簡單的更換系統&#xff0c;不通過web控制臺來更換&a…

mysql開啟遠程訪問并開啟3306端口

登陸mysql mysql -u root -p設置允許訪問的地址 如果你想允許用戶root從ip為192.168.1.123的主機連接到mysql服務器&#xff0c;并使用password密碼登錄。&#xff08;根據情況自行替換&#xff09; GRANT ALL PRIVILEGES ON *.* TO root192.168.1.123 IDENTIFIED BY passwo…

Python奇幻之旅(從入門到入獄高級篇)——面相對象進階【中】

目錄 2. 面向對象進階 2.1. 成員 2.2. 變量 2.2. 方法 2.4. property屬性 2.5. 成員修飾符 2.6. 對象嵌套 2.7. 特殊成員 引言 本篇內容主要是面向對象的進階&#xff0c;講解一些特殊的成員和方法&#xff0c;更加深入迭代器是如何通過對象實現的。 2. 面向對象進階 …

Bellman-Ford(貝爾曼福特算法)

簡介 貝爾曼-福特算法&#xff08;Bellman-Ford Algorithm&#xff09;是一種用于求解單源最短路徑問題的算法&#xff0c;它可以處理帶有負權邊的圖。 該算法的實現思路是通過不斷迭代松弛操作來更新最短路徑&#xff0c;直到找到最優解。 名詞解釋&#xff1a;1. 松弛操作&…