Skip to content

Commit 33753f6

Browse files
committed
modify distributed mds
1 parent 19319b2 commit 33753f6

20 files changed

+160
-24
lines changed

ReadMe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ todo
334334
[//]: # (* [搞懂分布式技术:Nginx负载均衡原理与实践 ]&#;docs/distributed/practice/搞懂分布式技术:Nginx负载均衡原理与实践.md&#;)
335335
* [搞懂分布式技术:LVS实现负载均衡的原理与实践 ](docs/distributed/practice/搞懂分布式技术:LVS实现负载均衡的原理与实践.md )
336336
* [搞懂分布式技术:分布式session解决方案与一致性hash](docs/distributed/practice/搞懂分布式技术:分布式session解决方案与一致性hash.md)
337-
* [搞懂分布式技术:分布式ID生成方案 ](docs/distributed/practice/搞懂分布式技术:分布式ID生成方案.md )
337+
* [搞懂分布式技术:分布式ID生成方案 ](docs/distributed/搞懂分布式技术:分布式ID生成方案.md )
338338
* [搞懂分布式技术:缓存的那些事](docs/distributed/practice/搞懂分布式技术:缓存的那些事.md)
339339
* [搞懂分布式技术:SpringBoot使用注解集成Redis缓存](docs/distributed/practice/搞懂分布式技术:SpringBoot使用注解集成Redis缓存.md)
340340
* [搞懂分布式技术:缓存更新的套路 ](docs/distributed/practice/搞懂分布式技术:缓存更新的套路.md )

docs/distributed/practice/分布式理论总结.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# Table of Contents
2+
3+
* [六、Raft](#六、raft)
4+
* [单个 Candidate 的竞选](#单个-candidate-的竞选)
5+
* [多个 Candidate 竞选](#多个-candidate-竞选)
6+
* [数据同步](#数据同步)
7+
* [参考](#参考)
8+
9+
110
## 六、Raft
211

312
Raft 也是分布式一致性协议,主要是用来竞选主节点。
@@ -63,4 +72,4 @@ Raft 也是分布式一致性协议,主要是用来竞选主节点。
6372
- [深入理解分布式事务](https://juejin.im/entry/577c6f220a2b5800573492be)
6473
- [What is CAP theorem in distributed database system?](http://www.colooshiki.com/index.php/2017/04/20/what-is-cap-theorem-in-distributed-database-system/)
6574
- [NEAT ALGORITHMS - PAXOS](http://harry.me/blog/2014/12/27/neat-algorithms-paxos/)
66-
- [Paxos By Example](https://angus.nyc/2012/paxos-by-example/)
75+
- [Paxos By Example](https://angus.nyc/2012/paxos-by-example/)

docs/distributed/practice/搞懂分布式技术:LVS实现负载均衡的原理与实践.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# 目录
23

34
* [负载均衡的原理](#负载均衡的原理)
@@ -555,4 +556,4 @@ public class TestIpHash {
555556
}
556557
}
557558

558-
````
559+
````

docs/distributed/practice/搞懂分布式技术:SpringBoot使用注解集成Redis缓存.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
13
# 目录
24

35
* [Redis配置](#redis配置)

docs/distributed/practice/搞懂分布式技术:ZAB协议概述与选主流程详解.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
# Table of Contents
2+
3+
* [ZAB协议](#zab协议)
4+
* [消息广播模式](#消息广播模式)
5+
* [崩溃恢复](#崩溃恢复)
6+
* [数据同步](#数据同步)
7+
* [ZAB协议原理](#zab协议原理)
8+
* [Zookeeper设计目标](#zookeeper设计目标)
9+
* [ZAB与FastLeaderElection选主算法流程详解](#zab与fastleaderelection选主算法流程详解)
10+
* [选择机制中的概念](#选择机制中的概念)
11+
* [服务器ID](#服务器id)
12+
* [数据ID](#数据id)
13+
* [逻辑时钟](#逻辑时钟)
14+
* [选举状态](#选举状态)
15+
* [选举消息内容](#选举消息内容)
16+
* [选举流程图](#选举流程图)
17+
* [判断是否已经胜出](#判断是否已经胜出)
18+
* [选举流程简述](#选举流程简述)
19+
* [几种领导选举场景](#几种领导选举场景)
20+
* [集群启动领导选举](#集群启动领导选举)
21+
* [Follower重启](#follower重启)
22+
* [Leader重启](#leader重启)
23+
* [一致性保证](#一致性保证)
24+
* [Commit过的数据不丢失](#commit过的数据不丢失)
25+
* [未Commit过的消息对客户端不可见")未Commit过的消息对客户端不可见](#未commit过的消息对客户端不可见未commit过的消息对客户端不可见)
26+
* [总结](#总结)
27+
28+
129
本文内容参考网络,侵删
230

331
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看
@@ -348,4 +376,4 @@ ZAB协议保证了在Leader选举的过程中,已经被Commit的数据不会
348376
* 由于使用主从复制模式,所有的写操作都要由Leader主导完成,而读操作可通过任意节点完成,因此Zookeeper读性能远好于写性能,更适合读多写少的场景
349377
* 虽然使用主从复制模式,同一时间只有一个Leader,但是Failover机制保证了集群不存在单点失败(SPOF)的问题
350378
* ZAB协议保证了Failover过程中的数据一致性
351-
* 服务器收到数据后先写本地文件再进行处理,保证了数据的持久性
379+
* 服务器收到数据后先写本地文件再进行处理,保证了数据的持久性

docs/distributed/practice/搞懂分布式技术:Zookeeper典型应用场景及实践.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# 目录
23

34
* [一.ZooKeeper典型应用场景实践](#一zookeeper典型应用场景实践)
@@ -479,4 +480,4 @@ Master选举
479480

480481
第二类,和分布式锁服务中的控制时序场景基本原理一致,入列有编号,出列按编号。
481482

482-
同步队列。一个job由多个task组成,只有所有任务完成后,job才运行完成。可为job创建一个/job目录,然后在该目录下,为每个完成的task创建一个临时znode,一旦临时节点数目达到task总数,则job运行完成。
483+
同步队列。一个job由多个task组成,只有所有任务完成后,job才运行完成。可为job创建一个/job目录,然后在该目录下,为每个完成的task创建一个临时znode,一旦临时节点数目达到task总数,则job运行完成。

docs/distributed/practice/搞懂分布式技术:Zookeeper的配置与集群管理实战.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
13
# 目录
24

35
* [4.1 配置文件](#41-配置文件)
@@ -347,4 +349,4 @@ server.3=127.0.0.1:2890:3890
347349

348350
![](https://java-tutorial.oss-cn-shanghai.aliyuncs.com/20230407212836.png))
349351

350-
可见,关闭zk3以后,由于集群中的可用Server只剩下一台(达不到集群总数的半数以上),**集群将处于不可用的状态。**
352+
可见,关闭zk3以后,由于集群中的可用Server只剩下一台(达不到集群总数的半数以上),**集群将处于不可用的状态。**

docs/distributed/practice/搞懂分布式技术:使用RocketMQ事务消息解决分布式事务.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# 目录
23

34
* [初步认识RocketMQ的核心模块](#初步认识rocketmq的核心模块)

docs/distributed/practice/搞懂分布式技术:分布式session解决方案与一致性hash.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
# Table of Contents
2+
3+
* [一、问题的提出](#一、问题的提出)
4+
* [1. 什么是Session?](#1-什么是session?)
5+
* [2. 什么是Session一致性问题?](#2-什么是session一致性问题?)
6+
* [二、Session一致性解决方案](#二、session一致性解决方案)
7+
* [1. Session Stiky](#1-session-stiky)
8+
* [2. Session Replication](#2-session-replication)
9+
* [3. Session数据集中存储](#3-session数据集中存储)
10+
* [4. Cookie Based](#4-cookie-based)
11+
* [三、总结](#三、总结)
12+
* [一致性Hash概述](#一致性hash概述)
13+
* [一致性hash的特性](#一致性hash的特性)
14+
* [虚拟节点](#虚拟节点)
15+
* [均匀一致性hash](#均匀一致性hash)
16+
* [总结](#总结)
17+
18+
119

220
本文内容参考网络,侵删
321

@@ -182,4 +200,4 @@ hash环上顺时针从整数0开始,一直到最大正整数,我们根据四
182200

183201
## 总结
184202

185-
在分布式系统中一致性hash起着不可忽略的地位,无论是分布式缓存,还是分布式Rpc框架的负载均衡策略都有所使用。
203+
在分布式系统中一致性hash起着不可忽略的地位,无论是分布式缓存,还是分布式Rpc框架的负载均衡策略都有所使用。

docs/distributed/practice/搞懂分布式技术:分布式一致性协议与Paxos,Raft算法.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
13
# 目录
24

35
* [2PC](#2pc)
@@ -481,4 +483,4 @@ Leader 会等待大多数的 Follower 也进行了修改,然后才将修改提
481483
What is CAP theorem in distributed database system?
482484
NEAT ALGORITHMS - PAXOS
483485
Raft: Understandable Distributed Consensus
484-
Paxos By Example
486+
Paxos By Example

0 commit comments

Comments
 (0)