vlambda博客
学习文章列表

如何高效使用 ZooKeeper ?丨极客时间


ZooKeeper 是一个开源的分布式协调服务系统,已有十多年的历史,在业界的应用非常广泛,包括雅虎、eBay、京东、腾讯、饿了么、美团等公司。虽然近几年有 Consul 和 etcd 这些新的分布式协调系统问世,但 ZooKeeper 依然是最主流的分布式协调服务系统。

不得不说,ZooKeeper 是一个设计非常优雅和成功的软件系统。它的设计者们似乎从十多年前就想清楚了所有的需求场景,以至于这么多年过去了,ZooKeeper 的对外 API 基本上没有太多改变,而 ZooKeeper 的应用范围却变得越来越广泛。

这得益于 ZooKeeper 独特的软件设计和功能特性:

  • 安装配置简单,运维人员可以很快上手;

  • 核心 API 非常简单,只要使用其中 6 个方法就可以实现大部分协同服务的研发;

  • ZooKeeper 有丰富的生态圈,网上有很多的 ZooKeeper 第三方工具和相关资料;

  • 支持线性扩展,系统扩容就是简单的添加节点,而且可以在不中断服务的前提下进行。

虽然大多数技术人都可以很快上手 ZooKeeper,但大都局限于基于现有的 ZooKeeper 协同服务示例做一些简单的定制。如果想要具备为自己的业务场景设计 ZooKeeper 协同服务应用的能力,就需要深刻理解 ZooKeeper 的内部工作原理,还要做大量的协同服务设计练习。

理解 ZooKeeper 的内部工作原理,需要学习大量的计算机理论知识。这些理论知识涉及分布式系统、数据库系统和操作系统,而找到并学习这些知识点需要耗费很多时间。

基于此,我在极客时间开设了《ZooKeeper 实战与源码剖析》视频课,我会在课程中专门讲解这些知识点,帮助你快速理解 ZooKeeper 内部深层原理与机制,同时,在学会 ZooKeeper 的基础上,我还会带你上手 etcd。

另外,本课程除了介绍 ZooKeeper 的基础使用,还会讲解其与 Kafka 结合的开发实战,并深度剖析 ZooKeeper 的内部原理和核心代码。让你能够在工作中对 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 返现,多邀多得,上不封顶。

△识别上图免费试看课程

👇点击「阅读原文」,仅¥99 订阅