如何學習云原生時代的存儲組件 etcd?
互聯(lián)網(wǎng)應用經(jīng)歷了從早期單一架構到垂直架構,再到分布式架構的技術發(fā)展過程。在業(yè)務體系不斷發(fā)展變化,用戶體量和性能要求遠非傳統(tǒng)行業(yè)所能比擬的當下,越來越多的公司跨入了分布式、云原生架構的行列,分布式架構成為主流趨勢。
但分布式架構系統(tǒng)面臨著一些與生俱來的問題,比如部署復雜、響應時間長、運維復雜等,其中最根本的是多個節(jié)點之間的數(shù)據(jù)共享問題。面對這些問題,你可以選擇自己實現(xiàn)一個可靠的共享存儲來同步信息,或者是依賴一個可靠的共享存儲服務。
至于可靠的共享存儲服務,etcd是一個優(yōu)秀的可選項。etcd是一款分布式存儲中間件,使用Go語言編寫,并通過raft一致性算法處理和確保分布式一致性,解決了分布式系統(tǒng)中數(shù)據(jù)一致性的問題。
此外,由于etcd中涉及了數(shù)據(jù)一致性、多版本并發(fā)控制、Watch監(jiān)控、磁盤I/O讀寫等知識點,深入學習etcd可以幫助我們從開源項目中學習底層原理,進一步提高分布式架構設計的能力。
除了分布式架構中的應用,etcd 還是目前非常熱門的云原生存儲組件,它自2018年底作為孵化項目加入CNCF(云原生計算基金會),并于2020年11月成功“畢業(yè)”。
etcd 作為云原生架構中重要的基礎組件,各個微服務之間通過etcd保證調用的可用性和正確性。其他許多知名項目(包括Kubernetes、CoreDNS和TiKV等)也都依賴etcd來實現(xiàn)可靠的分布式數(shù)據(jù)存儲,它的成功可見一斑。
如果你對分布式系統(tǒng)的實現(xiàn)原理,對分布式組件的實現(xiàn)細節(jié)不清楚。這本書可以很好的填補分布式系統(tǒng)設計的空白和進一步拓展你的思維方向。
這本書寫了啥?
通過etcd學習分布式組件的“道”,掌握學習之道會在后續(xù)的自我提升中發(fā)揮長期價值。無論在將來的面試還是開發(fā)中,切中分布式系統(tǒng)開發(fā)的要點,并將原理和應用結合起來,才能充分體現(xiàn)個人的核心競爭力。
這本書圍繞etcd組件,從基礎知識點到底層原理全面深入地展開介紹,最后結合了實踐的案例。 主要包含如下的三個模塊。
(1)基礎概念與操作篇
首先淺談云原生架構背景,分布式系統(tǒng)中如何保證一致性;接著介紹etcd是一款什么樣的組件、etcd相關的特性、應用場景、部署的方式,還包括了客戶端命令行工具的使用以及etcd通信加密TLS。初步了解etcd的這些基本使用以及核心API,為后面的學習打下基礎。
(2)etcd實現(xiàn)原理與關鍵技術篇
介紹etcd的工作方式與內部實現(xiàn)原理,并重點介紹etcd的etcd-raft模塊、WAL日志與快照備份、多版本控制MVCC、backend存儲、事務實現(xiàn)、Watch和Lease機制等,最后梳理etcd Server的啟動流程,以及如何處理客戶端請求。通過這一模塊的學習,可以幫助我們從原理層面深入了解etcd的工作機制以及整體架構,同時將有助于后續(xù)二次開發(fā)或者排查遇到的問題。
(3)實踐案例篇
在掌握了etcd相關知識點的情況下,在應用實踐部分將會帶你學習etcd clientv3的具體應用,包括如何基于etcd實現(xiàn)分布式鎖應用,以及如何在微服務中集成 etcd 作為服務注冊與發(fā)現(xiàn)中心;最后我們會分析在 Kubernetes 中如何基于 etcd 完成容器的調度。
朱榮鑫,微服務方面技術專家,曾就職于外企和大型互聯(lián)網(wǎng)公司。對云原生、大型分布式系統(tǒng)有多年深入的實踐經(jīng)驗。出版圖書《Go 語言微服務高并發(fā)實戰(zhàn)》,線上專欄課程《etcd原理與實戰(zhàn)》。
劉峰,博士,任職于南京大學,長期從事分布式系統(tǒng),計算機網(wǎng)絡方面的研究,主持和參與多項國家縱向和橫向課題,與阿里云等公司進行了多項分布式系統(tǒng)相關的產研合作。
購書福利
想直接購書的同學可以通過上面的二維碼去京東進行8.7折優(yōu)惠購買。
Go Kubernetes 分布式
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。