From 3883f0520a9bbcec6f3f1539d00912cdc0887691 Mon Sep 17 00:00:00 2001
From: yuanguangxin <274841922@qq.com>
Date: Tue, 9 Jun 2020 00:59:44 +0800
Subject: [PATCH] update
---
.idea/workspace.xml | 39 ++++++++++++++++++---------------------
Rocket.md | 10 ++++++++--
2 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 3ffc014..7e70ea3 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -268,14 +268,7 @@
-
-
-
- 1581851491537
-
-
-
- 1581851491537
+
1581855774959
@@ -613,7 +606,14 @@
1591590258725
-
+
+ 1591633493322
+
+
+
+ 1591633493323
+
+
@@ -689,20 +689,20 @@
-
-
+
+
-
+
-
+
@@ -769,11 +769,11 @@
-
+
-
+
@@ -786,14 +786,11 @@
-
-
+
+
-
-
-
-
+
diff --git a/Rocket.md b/Rocket.md
index 733e4ef..cc7de70 100644
--- a/Rocket.md
+++ b/Rocket.md
@@ -2,7 +2,7 @@
## ZooKeeper
### CAP定理:
-一个分布式系统不可能同时满足以下三种,一致性(C:Consistency),可用性(A:Available),分区容错性(P:Partition Tolerance).在此ZooKeeper保证的是CP,ZooKeeper不能保证每次服务请求的可用性,在极端环境下,ZooKeeper可能会丢弃一些请求,消费者程序需要重新请求才能获得结果。另外在进行leader选举时集群都是不可用,所以说,ZooKeeper不能保证服务可用性。
+一个分布式系统不可能在满足分区容错性(P)的情况下同时满足一致性(C)和可用性(A:)。在此ZooKeeper保证的是CP,ZooKeeper不能保证每次服务请求的可用性,在极端环境下,ZooKeeper可能会丢弃一些请求,消费者程序需要重新请求才能获得结果。另外在进行leader选举时集群都是不可用,所以说,ZooKeeper不能保证服务可用性。
### BASE理论
@@ -20,7 +20,7 @@ BASE理论是基本可用,软状态,最终一致性三个短语的缩写。B
### ZAB协议:
-ZAB协议包括两种基本的模式:崩溃恢复和消息广播。当整个 Zookeeper 集群刚刚启动或者Leader服务器宕机、重启或者网络故障导致不存在过半的服务器与 Leader 服务器保持正常通信时,所有服务器进入崩溃恢复模式,首先选举产生新的 Leader 服务器,然后集群中 Follower 服务器开始与新的 Leader 服务器进行数据同步。当集群中超过半数机器与该 Leader 服务器完成数据同步之后,退出恢复模式进入消息广播模式,Leader 服务器开始接收客户端的事务请求生成事物提案来进行事务请求处理。
+ZAB协议包括两种基本的模式:崩溃恢复和消息广播。当整个 Zookeeper 集群刚刚启动或者Leader服务器宕机、重启或者网络故障导致不存在过半的服务器与 Leader 服务器保持正常通信时,所有服务器进入崩溃恢复模式,首先选举产生新的 Leader 服务器,然后集群中 Follower 服务器开始与新的 Leader 服务器进行数据同步。当集群中超过半数机器与该 Leader 服务器完成数据同步之后,退出恢复模式进入消息广播模式,Leader 服务器开始接收客户端的事务请求生成事物提案(超过半数同意)来进行事务请求处理。
### 选举算法和流程:FastLeaderElection(默认提供的选举算法)
@@ -31,6 +31,12 @@ ZAB协议包括两种基本的模式:崩溃恢复和消息广播。当整个 Z
4. 服务器4启动,给自己投票,同时与之前启动的服务器1,2,3交换信息,尽管服务器4的编号大,但之前服务器3已经胜出,所以服务器4只能成为follower。
5. 服务器5启动,后面的逻辑同服务器4成为follower。
+### zk中的监控原理
+
+zk类似于linux中的目录节点树方式的数据存储,即分层命名空间,zk并不是专门存储数据的,它的作用是主要是维护和监控存储数据的状态变化,通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,zk中的节点的数据上限时1M。
+
+client端会对某个znode建立一个watcher事件,当该znode发生变化时,这些client会收到zk的通知,然后client可以根据znode变化来做出业务上的改变等。
+
## Redis
### 应用场景