etcd的備份與恢復

一 為什么使用etcd

與ZooKeeper相比,etcd更簡單,安裝、部署和使用更加容易,并且etcd的某些功能是ZooKeeper所沒有的。因此,在很多場景下,etcd 比ZooKeeper更受用戶的青,具體表現在如下幾個方面:

1 etcd更加穩定可靠,它的唯一目標就是把分布式一致性KV存儲做到極致,所以它更注重穩定性和擴展性。

在服務發現的實現上,etcd使用的是節點租約(Lease),并且支持Group(多key);而ZooKeeper使用的是臨時節點,臨時節點存在不少的問題。

etcd支持穩定的 watch,而不是ZooKeeper一樣簡單的單次觸發( one time trigger )watch。因為在微服務的環境下,通過調度系統的調度,一個服務隨時可能會下線,也可能為應對臨時訪問壓力而增加新的服務節點,而很多調度系統是需要得到完整節點歷史記錄的,在這方面,etcd可以存儲數十萬個歷史變更。

  • etcd支持MVCC(多版本并發控制),因為有協同系統需要無鎖操作。
  • etcd支持更大的數據規模,支持存儲百萬到千萬級別的key。
  • 相比ZooKeeper,etcd 的性能更好。在一個由3臺8核節點組成的云服務器上,etcd v3版本可以做到每秒數萬次的寫操作和數十萬次的讀提作。

二 上圖是etcd基礎架構圖,按照分層模型,etcd可分為

  • 客戶端(Client)層、
  • API(API)網絡層、
  • Raft(Raft)算法層、
  • 邏輯層和存儲層? ?功能如下:

客戶端(Client)層:客戶端(Client)層包括客戶端v2和v3兩個大版本API(API)客戶端庫,提供了簡潔易用的API,同時支持負載均衡、節點間故障自動轉移,可極大降低業務使用etcd復雜度,提升開發效率、服務可用性。

·API網絡層:API網絡層主要包括客戶端訪問服務器和服務器節點之間的通信協議。一方面,客戶端訪問etcd服務器的API分為v2和v3兩個大版本。V2API使用HTTP/1.x協議,V3API使用gRPC協議。同時v3通過網關組件也支持HTTP/1.x協議,便于各種語言的服務調用。另一方面,服務器之間通信協議,是指節點間通過(Raft)算法實現數據復制和領導者(Leader)選舉等功能時使用的HTTP協議。

·Ratt(Raft)算法層:Raft(Raft)算法層實現了領導者(Leader)選舉、日志復制、閱讀指數(Readindex)等核心算法特性,用于保障eicd多個節點間的數據一致性、提升服務可用性等,是ejcd的基石和亮點。

功能邏輯層:etcd核心特性實現層,如典型的KVServer模塊、MVCC模塊、Auth鑒權模塊、Lease(Lease)租約模塊、Compater壓縮模塊等,其中MVCC模塊主要由Tree ndex模塊和Boltdb模塊組成。

·存儲層:存儲層包含預寫日志(WAL)模塊、快照(Snapshot)模塊、boltdb模塊。其中WAL可保障etcd崩潰后數據不丟失,boltdb則保存了集群元數據和用戶寫入的數據。

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

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

相關文章

上海市計算機學會競賽平臺2022年10月月賽丙組門禁記錄

題目描述 小愛得到了某大樓一天內按時間順序記錄的𝑛n條門禁出入記錄,每條記錄由兩個字符串組成,第一個字符串為出入人員姓名,第二個字符串表示該人員進出狀態、為 enter 或 exit 中一項,其中 enter 為進入&#xff0…

鑫創SSS1700USB音頻橋芯片USB轉IIS芯片

鑫創SSS1700支持IIC初始外部編(EEPROM選項),兩線串行總線(I2C總線)用于外部MCU控制整個EEPROM空間可以通過MCU訪問用于主機控制同步的USB HID外部串行EEPROM(24C02~24C16)接口,用于客戶特定的USB視頻、PID、…

jmeter之變量隨機參數化以及解決多線程不會隨機變化

參考鏈接: https://www.cnblogs.com/Testing1105/p/12743475.html jmeter 使用random函數多線程運行時數據不會隨機變化?_jmeter 線程組循環執行時 變量不變-CSDN博客 1、如下圖所示,需要對請求參數 autor 和phone進行隨機參數化 2、目前有…

MyBatis源碼中的設計模式2

組合模式的應用 組合模式介紹 組合模式(Composite Pattern) 的定義是:將對象組合成樹形結構以表示整體和部分的層次結構。組合模式可以讓用戶統一對待單個對象和對象的組合。 比如:Windows操作系統中的目錄結構,通過tree命令實現樹形結構展…

【系統架構設計師】十二、系統質量屬性與架構評估(開發期質量屬性|運行期質量屬性|面向架構評估的質量屬性|質量屬性效用樹|質量屬性場景)

目錄 一、軟件系統質量屬性 1.1 開發期質量屬性 1.2 運行期質量屬性 1.3 面向架構評估的質量屬性 1.4 質量屬性效用樹 1.5 質量屬性場景 1.5.1 可用性質量屬性場景描述 1.5.2 可修改性質量屬性場景描述 1.5.3 性能質量屬性場景描述 相關推薦 歷年真題練習 歷…

【vue】輸入框和文本域切換

輸入框的樣子 文本域的樣子 當輸入框出現滾動條的時候&#xff0c;就自動切換成文本域&#xff1b;當文本域到1行并且寬度小于輸入框寬度時切換成輸入框 <div class"left_box_inpt"><divclass"right_box_inpt":class"{notclickable: inputd…

OpenResty使用Lua筆記

文章目錄 一、基礎1、常用2、使用局部變量3、模塊化 二、性能提升1、使用fft調用shell2、不要在循環中拼接字符串3、不要頻繁修改table4、不要在table中用nil5、做好異常處理6、ngx.var 的性能提升 三、拓展1、加載字符串為動態方法 一、基礎 1、常用 OpenResty 中文官網&…

Open3D 最小二乘法擬合點云平面

目錄 一、概述 1.1最小二乘法原理 1.2實現步驟 1.3應用場景 二、代碼實現 2.1關鍵函數 2.2完整代碼 三、實現效果 3.1原始點云 3.2matplotlib可視化 3.3平面擬合方程 前期試讀&#xff0c;后續會將博客加入該專欄&#xff0c;歡迎訂閱 Open3D點云算法與點云深度學習…

【學術會議征稿】第四屆人工智能、虛擬現實與可視化國際學術會議(AIVRV 2024)

第四屆人工智能、虛擬現實與可視化國際學術會議&#xff08;AIVRV 2024&#xff09; 2024 4th International Conference on Artificial Intelligence, Virtual Reality and Visualization 第四屆人工智能、虛擬現實與可視化國際學術會議&#xff08;AIVRV 2024&#xff09;將…

用python寫一個爬蟲,爬取google中關于蛇的照片

為了爬取Google中關于蛇的照片&#xff0c;我們可以利用Python中的第三方庫進行網頁解析和HTTP請求。請注意&#xff0c;這種爬取行為可能違反Google的使用條款&#xff0c;因此建議在合法和允許的情況下使用。以下是一個基本的Python爬蟲示例&#xff0c;使用Requests庫發送HT…

git 指令速查

1. 創建命令 Create Git 指令命令說明git clone 克隆遠程倉庫git init初始化本地 git 倉庫(即創建新的本地倉庫)2. 本地更改 Local Changes Git 指令命令說明git status查看當前分支狀態git diff查看已跟蹤文件的變更git add 將指定的文件添加到暫存區git add .將所有有變更的…

簡約唯美的404HTML源碼

源碼介紹 簡約唯美的404HTML源碼,很適合做網站錯誤頁,將下面的源碼放到一個空白的html里面,然后上傳到服務器里面即可使用 效果預覽 完整源碼 <!DOCTYPE html> <html><head><meta charset="utf-8"><title>404 Error Example<…

第二證券:市場估值依然處于較低區域 適合中長期布局

A股中報成績預告顯示相比2024Q1&#xff0c;2024Q2企業產品銷量或訂單已有回暖&#xff0c;但價格反轉暫未大面積到來&#xff0c;“量增價平、部分板塊以價換量”是2024H1 A股成績預告較顯著的量價特征&#xff0c;這與微觀庫存周期有待回暖相匹配。此外中游部分環節出現不同程…

Vue 3中使用 Lottie 動畫

一、Lottie動畫簡介 Lottie是由Airbnb開源的面向Android、iOS、Web和Windows的動畫庫,開發者可以使用它在Web、iOS、Android等平臺上實現高性能的體驗豐富的矢量動畫。 在早期的前端開發中,Flash是網頁動畫之王,不過它的規范約束隨意,造成很多時設計出來的產品都無法符合…

新版網頁無插件H.265播放器EasyPlayer.js如何測試demo視頻?

H5無插件流媒體播放器EasyPlayer屬于一款高效、精煉、穩定且免費的流媒體播放器&#xff0c;可支持多種流媒體協議播放&#xff0c;支持H.264與H.265編碼格式&#xff0c;性能穩定、播放流暢&#xff1b;支持WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#xff0…

富格林:直面暗箱減少出金虧損

富格林悉知&#xff0c;在交易的過程中&#xff0c;投資者就算做好了十足的把握&#xff0c;也難免會出現出金虧損的情況。在這里建議新手投資者&#xff0c;在準備投資交易的時候&#xff0c;一定要做好充分的準備工作&#xff0c;了解黃金投資哪些暗箱陷阱&#xff0c;同時學…

【Linux】進程信號 --- 信號產生

&#x1f466;個人主頁&#xff1a;Weraphael ?&#x1f3fb;作者簡介&#xff1a;目前正在學習c和算法 ??專欄&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起進步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指點一二 如果文章對…

【轉型Web3開發第二課】Dapp開發入門基礎 | 02 | MetaMask配置網絡

本文首發于公眾號&#xff1a;Keegan小鋼 前言 完成了《轉型 Web3 開發第一課》之后&#xff0c;得到了不少讀者的認可&#xff0c;很多都在問什么時候開始下一課&#xff0c;近期終于抽出了時間開始搞起這第二課。 這第二課的主題為「Dapp開發入門基礎」&#xff0c;即想要轉…

淺談Visual Studio 2022

Visual Studio 2022&#xff08;VS2022&#xff09;提供了眾多強大的功能和改進&#xff0c;旨在提高開發者的效率和體驗。以下是一些關鍵功能的概述&#xff1a;12 64位支持&#xff1a;VS2022的64位版本不再受內存限制困擾&#xff0c;主devenv.exe進程不再局限于4GB&#xf…

【ffmpeg命令入門】重新編碼媒體流、設置碼率、設置幀速率

文章目錄 前言ffmpeg的描述重新編碼媒體流重新編碼媒體流的命令ffmpeg支持的媒體流 設置視頻碼率視頻碼率是什么設置視頻的碼率 設置文件幀數率幀數率是什么ffmpeg設置幀數率 總結 前言 在數字媒體處理領域&#xff0c;ffmpeg是一款非常強大的工具&#xff0c;它可以用來進行媒…