前言 在分布式系统设计的过程中,我们需要考虑cap理论的指导思想,如下图所示,P分区容错性,考虑到分布式系统部署在多个结点上,因此分区容错性是分布式系统的最基本要具备的。因此我们只能在一致性和可用性之间作权衡。于是就出现了很多一致性协议。著名的协议有二阶段提交协议,三阶段提交协议和Paxos算法。本 ...
分类:
其他好文 时间:
2018-10-04 10:13:14
阅读次数:
141
选主流程: 当Zk进入恢复模式时,需要重新选举出一个新的leader,让所有的Server都恢复到一个正确的状态。Zk的选举算法有两种:一种是基于basic paxos实现的,一种是基于fast paxos算法实现的。系统默认的是fast paxos。 basic paxos流程: 1、当前Serv ...
分类:
其他好文 时间:
2018-09-04 14:53:17
阅读次数:
215
分布式一致性协议 分布式一致性协议包含二阶段提交协议、三阶段提交协议、Paxos算法。 二阶段提交协议(2PC) 二阶段提交协议处理过程分为了投票和执行两个阶段,其核心是对每个事务都采用先尝试后提交的处理方式,本质是强一致性算法。 阶段一:提交事务请求 1.事务询问 协调者发起请求,询问参与者是否可 ...
分类:
其他好文 时间:
2018-09-02 20:14:27
阅读次数:
146
Zookeeper 介绍 Zookeeper 是一个高可用的分布式数据管理与系统协作框架。基于对 Paxos 算法实现,该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得Zookeeper 可以解决很多分布式问题。 它可以实现的功能有丰富。数据发布/订阅、负载均衡、命名服务、分布式协 ...
分类:
其他好文 时间:
2018-08-21 18:24:52
阅读次数:
162
一、ETCD 概述 是一个分布式一致性k v存储系统,可用于服务注册发现与共享配置。具有一下优点: 简单: 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过gRPC提供接口调用 安全:支持TLS通信,并可以针对不同的用户进行对key的读写控制 高性能:10 ...
分类:
其他好文 时间:
2018-08-02 00:09:24
阅读次数:
220
HDFS HA Namenode HA 详解 hadoop2.x 之后,Clouera 提出了 QJM/Qurom Journal Manager,这是一个基于 Paxos 算法(分布式一致性算法)实现的 HDFS HA 方案,它给出了一种较好的解决思路和方案,QJM 主要优势如下: 不需要配置额外 ...
分类:
其他好文 时间:
2018-07-13 21:08:06
阅读次数:
221
Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安装。通常由 2n+1台 servers 组成。这是因为为了保证 Leader 选举(基于 Paxos 算法的实现)能过得到多数的支持,所以 ZooKeeper 集群的数量一般为奇数。 Zookeeper 运行需要 java 环境,所 ...
分类:
其他好文 时间:
2018-07-01 16:56:37
阅读次数:
208
关于这个算法,写一下简单的总结,后面等demo做到这里时,再做详细介绍 首先这个一致性算法最核心的就是俩字:多数 分为两个阶段,实际上这些阶段并非需要同步,对于不同的proposer来说,只要达到两个阶段的多数,该提议肯定会被接受,其他的提议肯定被搁置 Prepare阶段 即对每个proposer来 ...
分类:
编程语言 时间:
2018-06-06 21:56:38
阅读次数:
203
原理简单来说,就是要选举leader,会生成一个zxid,然后分发给所有的server(所以这里一台server可以接受多台server给他发送要选举leader的请求),然后各个server根据发送给自己的zxid,选择一个值最大的,然后将这个选择返回给发送这个zxid的server,只要这个se ...
分类:
编程语言 时间:
2018-05-28 11:52:49
阅读次数:
168
一、概述: Google Chubby的作者说过这个世界只有一种一致性算法,那就Paxos算法,其他的都是残次品。 二、Paxos算法: 一种基于消息传递的高度容错性的一致性算法。 Paxos:少数服从多数,解决最终一致性问题. 三、三种角色: Proposer(议案提交者) Acceptor(议案 ...
分类:
编程语言 时间:
2018-05-17 00:56:13
阅读次数:
195