-
ZooKeeper-25-ZooKeeper 原理之会话 session
会话
会话(Session)是ZooKeeper中最重要的概念之一,客户端与服务端之间的任何交互操作都与会话息息相关,这其中就包括临时节点的生命周期、客户端请求的顺序执行以及Watcher通知机制等。
在 7.3.1 节中,我们已经讲解了 ZooKeeper 客户端与服务端之间一次会话创建的大体过程。
以 Java 语言为例,简单地说,ZooKeeper 的连接与会话就是客户端通过实例...
2016-09-25 04:21:05 |
Apache
-
ZooKeeper-24-ZooKeeper 原理之客户端 client
客户端
客户端是开发人员使用ZooKeeper最主要的途径,因此我们有必要对ZooKeeper客户端的内部原理进行详细讲解。
ZooKeeper的客户端主要由以下几个核心组件组成。
ZooKeeper实例:客户端的入口。
ClientWatchManager:客户端Watcher管理器。
HostProvider:客户端地址列表管...
2016-09-25 04:21:05 |
Apache
-
ZooKeeper-23-ZooKeeper 原理之序列化与协议
序列化与协议
在前面的章节中,我们对整个ZooKeeper的系统模型进行了全局性的了解,从本节开始,我们将深入ZooKeeper的每个组成部分来讲解其内部的实现原理。
从上面的介绍中,我们已经了解到,ZooKeeper 的客户端和服务端之间会进行一系列的网络通信以实现数据的传输。
对于一个网络通信,首先需要解决的就是对数据的序列化和反序列化处理,在ZooKeeper中,使用了Jute这...
2016-09-25 04:21:05 |
Apache
-
ZooKeeper-22-ZooKeeper 原理之系统模型
ZooKeeper技术内幕
好了,到现在为止,在学习了前面几章的内容之后,相信读者已经能够在应用中很好地使用 ZooKeeper 了。
尤其在数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁以及分布式队列等分布式场景中,能够很好地利用ZooKeeper来解决实际的分布式问题了。
当然,相信读者也一定对ZooKeeper内部如何做到分布式数据一...
2016-09-25 04:21:05 |
Apache
-
ZooKeeper-21-ZooKeeper 的典型应用场景
ZooKeeper的典型应用场景
在第5章中,我们已经向读者讲解了如何通过ZooKeeper的客户端来使用ZooKeeper。
从本章开始,我们将从实际的分布式应用场景出发,来讲解如何使用ZooKeeper去解决一些常见的分布式问题,以帮助读者更好地使用ZooKeeper。
ZooKeeper是一个典型的发布/订阅模式的分布式数据管理与协调框架,开发人员可以使用它来进行分布式数据的发布...
2016-09-25 04:21:05 |
Apache
-
ZooKeeper-20-内部原理
ZooKeeper内部原理
本章与其他章节不同,本章不会讲解任何关于如何通过ZooKeeper构建⼀个应⽤程序相关的知识,主要是介绍ZooKeeper内部是如何运⾏的,通过从⾼层次介绍其所使⽤的协议,以及ZooKeeper所采⽤的在提供⾼性能的同时还具有容错能⼒的机制。这些内容⾮常重要,通过这些为⼤家提供了⼀个更深度的视⾓来分析为什么程序与ZooKeeper⼀同⼯作时会如此运⾏。如果你打算...
2016-09-25 04:21:05 |
Apache
-
ZooKeeper-19-api 使用
ZK 的启动
具体参考 zk 入门
启动路径
$ pwd
D:\tools\zookeeper\apache-zookeeper-3.6.2-bin\bin
$ zkServer
启动日志如下:
2021-03-14 16:15:58,039 [myid:] - INFO [main:QuorumPeerConfig@174] - Reading configuration ...
2016-09-25 04:21:05 |
Apache
-
ZooKeeper-18-⼀个主-从模式例⼦的实现
⼀个主-从模式例⼦的实现
本节中我们通过zkCli⼯具来实现主-从⽰例的⼀些功能。
这个例⼦仅⽤于教学⽬的,我们不推荐使⽤zkCli⼯具来搭建系统。使⽤zkCli的⽬的仅仅是为了说明如何通过ZooKeeper来实现协作菜谱,从⽽撇开在实际实现中所需的⼤量细节。我们将在下⼀章中进⼊实现的细节。
角色
主-从模式的模型中包括三个⾓⾊:
主节点
主节点负责监视新的从节点和任务,...
2016-09-25 04:21:05 |
Apache