優秀的開發和運維,80%都讀過 ZooKeeper 原始碼 | 極客時間

2019-09-11 06:08:44

作者 | 極客時間
ZooKeeper 是一個開源的分散式協調服務系統,已有十多年的歷史,在業界的應用非常廣泛,包括雅虎、eBay、京東、騰訊、餓了麼、美團等公司。雖然近幾年有 Consul 和 etcd 這些新的分散式協調系統問世,但 ZooKeeper 依然是最主流的分散式協調服務系統。

不得不說,ZooKeeper 是一個設計非常優雅和成功的軟體系統。它的設計者們似乎從十多年前就想清楚了所有的需求場景,以至於這麼多年過去了,ZooKeeper 的對外 API 基本上沒有太多改變,而 ZooKeeper 的應用範圍卻變得越來越廣泛。

這得益於 ZooKeeper 獨特的軟體設計和功能特性:

  1. 安裝配置簡單,運維人員可以很快上手;

  2. 核心 API 非常簡單,只要使用其中 6 個方法就可以實現大部分協同服務的研發;

  3. ZooKeeper 有豐富的生態圈,網上有很多的 ZooKeeper 第三方工具和相關資料;

  4. 支援線性擴充套件,系統擴容就是簡單的新增節點,而且可以在不中斷服務的前提下進行。

雖然大多數技術人都可以很快上手 ZooKeeper,但大都侷限於基於現有的 ZooKeeper 協同服務示例做一些簡單的定製。如果想要具備為自己的業務場景設計 ZooKeeper 協同服務應用的能力,就需要深刻理解 ZooKeeper 的內部工作原理,還要做大量的協同服務設計練習。

理解 ZooKeeper 的內部工作原理,需要學習大量的計算機理論知識。這些理論知識涉及分散式系統、資料庫系統和作業系統,而找到並學習這些知識點需要耗費很多時間。

基於此,我在極客時間開設了《ZooKeeper 實戰與原始碼剖析》視訊課,我會在課程中專門講解這些知識點,幫助你快速理解 ZooKeeper 內部深層原理與機制,同時,在學會 ZooKeeper 的基礎上,我還會帶你上手 etcd。

另外,本課程除了介紹 ZooKeeper 的基礎使用,還會講解其與 Kafka 結合的開發實戰,並深度剖析 ZooKeeper 的內部原理和核心程式碼。讓你能夠在工作中對 ZooKeeper 進行個性化的定製與使用,並熟練解決開發中遇到的各種難題。今天是上新優惠最後一天,明天恢復原價。

△長按識別上圖免費試看課程

我是誰?  

我是麼敬國,目前在新東方教育科技集團任首席架構師,主要負責新東方直播雲、出國留學考試和樂詞矩陣的架構和管理工作。最早,我曾在 IBM 做分散式資料儲存和流程引擎的研發,以及大資料查詢語言的設計和研發。之後在天涯社群也負責過大資料平臺的研發。

我個人在技術上的興趣點是分散式系統和資料庫系統。在工作之餘,我還參與了分散式資料庫系統 CockroachDB 的研發,是 CockroachDB 的社群 member。

你能獲得什麼?  

在《ZooKeeper 實戰與原始碼剖析》這門課中,我會先介紹 ZooKeeper 的基礎知識,之後會有高階的原理和原始碼剖析等內容。

在講解基礎知識的時候,我會結合程式碼多講一些實戰性的例子,也會介紹一些分散式系統的基本概念。在高階內容部分,我會以講解 ZooKeeper 內部原理和相關原始碼為主。同時,為了幫助你從更廣的視角來看待 ZooKeeper,我也會對 ZooKeeper 和 etcd 做比較。

可以說,學完這門課程,你可以深入理解 ZooKeeper 內部的執行機制,知道如何更有效地使用 ZooKeeper,並掌握以下分散式系統的經典設計理念:

  1. 如何設計一個本地資料節點;

  2. 分散式環境中節點之間如何通訊;

  3. 如何從 0 到 1 設計一個 RPC 子系統;

  4. 如何使用資料一致性協議保證資料的高可用;

  5. 如何在資料一致性和系統性能之間做取捨。

掌握這些設計理念,你可以更容易地理解類似的系統,也可以應用在自己的研發工作中。

課程目錄  

限時訂閱福利  

  1. 限時¥99,原價¥129今天是上新優惠最後一天,明天恢復原價。

  2. 分享海報,邀請好友訂閱即可獲得¥24 返現,多邀多得,上不封頂。

△長按識別上圖免費試看課程

👇點選「閱讀原文」,最後一天立省僅 ¥30 訂閱

已同步到看一看



熱點新聞