Wenjun's Blog
ZAB协议 ZAB协议
ZAB 协议前言ZAB(Zookeeper Atomic Broadcast)是为 ZooKeeper 设计的崩溃恢复原子广播协议,它保证 ZooKeeper 集群数据的一致性和命令的全局有序性。 概念介绍在介绍 ZAB 协议之前首先要知道
2020-05-17
什么是ZooKeeper? 什么是ZooKeeper?
什么是 ZooKeeper ? ————— 第二天 ————— ZooKeeper 的数据模型ZooKeeper 的数据模型是什么样子呢?它很像数据结构当中的树,也很像文件系统的目录。 树是由节点所组成
2020-05-17
什么是拜占庭将军问题? 什么是拜占庭将军问题?
什么是拜占庭将军问题? ————— 第二天 ————— 什么是拜占庭将军问题?在很久很久以前,拜占庭是东罗马帝国的首都。那个时候罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信使传递消息。
2020-05-16
RocketMQ RocketMQ
RocketMQ前言消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行 360° 的刁难。作为一个在互联网公司面一次拿一次 offer 的面霸,打败了无数竞争对手,每次都只能看到无
2020-05-09
消息队列基础 消息队列基础
消息队列基础前言消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行 360° 的刁难。 作为一个在互联网公司面一次拿一次 offer 的面霸,打败了无数竞争对手,每次都只能看到无数
2020-05-09
分布式锁实现选型 分布式锁实现选型
分布式锁实现选型分布式锁我们知道在同一个 JVM 中,可以通过 Volatile 、Synchronized 、ReentrantLock 三个关键字来实现线程的安全。 那么在分布式系统中这些是无法保证的,所以要通过分布式锁来实现。 基于分
2020-05-03
Redis分布式锁 Redis分布式锁
Redis 分布式锁前言上一章节我提到了基于 ZK 分布式锁的实现,这章节就来说一下基于 Redis 的分布式锁实现吧。 ZK 实现分布式锁的传送门:ZooKeeper分布式锁 在开始提到 Redis 分布式锁之前,我想跟大家聊点 Re
2020-05-03
ZooKeeper分布式锁 ZooKeeper分布式锁
ZooKeeper 分布式锁前言锁我想不需要我过多的去说,大家都知道是怎么一回事了吧? 在多线程环境下,由于上下文的切换,数据可能出现不一致的情况或者数据被污染,我们需要保证数据安全,所以想到了加锁。 所谓的加锁机制呢,就是当一个线程访问该
2020-05-02
Raft协议 Raft协议
Raft 协议前言Raft 协议是用来解决分布式系统一致性问题的协议,在很长一段时间,Paxos 被认为是解决分布式系统一致性的代名词。但是 Paxos 难于理解,更难以实现,诸如 Google 大牛们开发的分布式锁系统 Chubby 都遭
2020-04-30