Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
醒狮指南
JavaGuide
提交
7a8f9b16
J
JavaGuide
项目概览
醒狮指南
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7a8f9b16
编写于
8月 26, 2020
作者:
G
guide
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zookeeper
上级
5f373921
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
7 addition
and
7 deletion
+7
-7
README.md
README.md
+3
-3
docs/system-design/framework/zookeeper/images/watche机制.png
docs/system-design/framework/zookeeper/images/watche机制.png
+0
-0
docs/system-design/framework/zookeeper/images/znode-structure.png
...tem-design/framework/zookeeper/images/znode-structure.png
+0
-0
docs/system-design/framework/zookeeper/images/zookeeper集群.png
.../system-design/framework/zookeeper/images/zookeeper集群.png
+0
-0
docs/system-design/framework/zookeeper/images/zookeeper集群中的角色.png
...tem-design/framework/zookeeper/images/zookeeper集群中的角色.png
+0
-0
docs/system-design/framework/zookeeper/zookeeper-in-action.md
.../system-design/framework/zookeeper/zookeeper-in-action.md
+0
-0
docs/system-design/framework/zookeeper/zookeeper-intro.md
docs/system-design/framework/zookeeper/zookeeper-intro.md
+4
-4
docs/system-design/framework/zookeeper/zookeeper-plus.md
docs/system-design/framework/zookeeper/zookeeper-plus.md
+0
-0
未找到文件。
README.md
浏览文件 @
7a8f9b16
...
...
@@ -331,9 +331,9 @@ SSO(Single Sign On)即单点登录说的是用户登陆多个子系统的其中
> 前两篇文章可能有内容重合部分,推荐都看一遍。
1.
[
【入门】ZooKeeper 相关概念总结 01
](
docs/system-design/framework/zookeeper-intro.md
)
2.
[
【进阶】ZooKeeper 相关概念总结 02
](
docs/system-design/framework/zookeeper-plus.md
)
3.
[
【实战】ZooKeeper 实战
](
docs/system-design/framework/zookeeper-in-action.md
)
1.
[
【入门】ZooKeeper 相关概念总结 01
](
docs/system-design/framework/zoo
zoo
keeper-intro.md
)
2.
[
【进阶】ZooKeeper 相关概念总结 02
](
docs/system-design/framework/zookeeper
/zookeeper
-plus.md
)
3.
[
【实战】ZooKeeper 实战
](
docs/system-design/framework/zookeeper
/zookeeper
-in-action.md
)
#### 其他
...
...
docs/system-design/framework/zookeeper/images/watche机制.png
0 → 100644
浏览文件 @
7a8f9b16
59.2 KB
docs/system-design/framework/zookeeper/images/znode-structure.png
0 → 100644
浏览文件 @
7a8f9b16
15.2 KB
docs/system-design/framework/zookeeper/images/zookeeper集群.png
0 → 100644
浏览文件 @
7a8f9b16
26.4 KB
docs/system-design/framework/zookeeper/images/zookeeper集群中的角色.png
0 → 100644
浏览文件 @
7a8f9b16
64.3 KB
docs/system-design/framework/zookeeper-in-action.md
→
docs/system-design/framework/zookeeper
/zookeeper
-in-action.md
浏览文件 @
7a8f9b16
文件已移动
docs/system-design/framework/zookeeper-intro.md
→
docs/system-design/framework/zookeeper
/zookeeper
-intro.md
浏览文件 @
7a8f9b16
...
...
@@ -111,7 +111,7 @@ ZooKeeper 数据模型采用层次化的多叉树形结构,每个节点上都
从下图可以更直观地看出:ZooKeeper 节点路径标识方式和 Unix 文件系统路径非常相似,都是由一系列使用斜杠"/"进行分割的路径表示,开发人员可以向这个节点中写人数据,也可以在节点下面创建子节点。这些操作我们后面都会介绍到。
![
ZooKeeper 数据模型
](
https://images.gitbook.cn/95a192b0-1c56-11e9-9a8e-f3b01b1ea9aa
)
![
ZooKeeper 数据模型
](
images/znode-structure.png
)
### 3.2. znode(数据节点)
...
...
@@ -204,7 +204,7 @@ ZooKeeper 采用 ACL(AccessControlLists)策略来进行权限控制,类似
Watcher(事件监听器),是 ZooKeeper 中的一个很重要的特性。ZooKeeper 允许用户在指定节点上注册一些 Watcher,并且在一些特定事件触发的时候,ZooKeeper 服务端会将事件通知到感兴趣的客户端上去,该机制是 ZooKeeper 实现分布式协调服务的重要特性。
![
watcher机制
](
https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/watcher%E6%9C%BA%E5%88%B6.jp
g
)
![
watcher机制
](
images/watche机制.pn
g
)
_破音:非常有用的一个特性,都能出小本本记好了,后面用到 ZooKeeper 基本离不开 Watcher(事件监听器)机制。_
...
...
@@ -220,7 +220,7 @@ Session 有一个属性叫做:`sessionTimeout` ,`sessionTimeout` 代表会
为了保证高可用,最好是以集群形态来部署 ZooKeeper,这样只要集群中大部分机器是可用的(能够容忍一定的机器故障),那么 ZooKeeper 本身仍然是可用的。通常 3 台服务器就可以构成一个 ZooKeeper 集群了。ZooKeeper 官方提供的架构图就是一个 ZooKeeper 集群整体对外提供服务。
![](
http://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-9-10/68900686.jp
g
)
![](
images/zookeeper集群.pn
g
)
上图中每一个 Server 代表一个安装 ZooKeeper 服务的服务器。组成 ZooKeeper 服务的服务器都会在内存中维护当前的服务器状态,并且每台服务器之间都互相保持着通信。集群间通过 ZAB 协议(ZooKeeper Atomic Broadcast)来保持数据的一致性。
...
...
@@ -230,7 +230,7 @@ Session 有一个属性叫做:`sessionTimeout` ,`sessionTimeout` 代表会
但是,在 ZooKeeper 中没有选择传统的 Master/Slave 概念,而是引入了 Leader、Follower 和 Observer 三种角色。如下图所示
![](
http://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-9-10/89602762.jp
g
)
![](
images/zookeeper集群中的角色.pn
g
)
ZooKeeper 集群中的所有机器通过一个
**Leader 选举过程**
来选定一台称为 “
**Leader**
” 的机器,Leader 既可以为客户端提供写服务又能提供读服务。除了 Leader 外,
**Follower**
和
**Observer**
都只能提供读服务。Follower 和 Observer 唯一的区别在于 Observer 机器不参与 Leader 的选举过程,也不参与写操作的“过半写成功”策略,因此 Observer 机器可以在不影响写性能的情况下提升集群的读性能。
...
...
docs/system-design/framework/
ZooK
eeper-plus.md
→
docs/system-design/framework/
zookeeper/zook
eeper-plus.md
浏览文件 @
7a8f9b16
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录