从零开始的分布式
从一致性算法开始学习分布式相关知识
chao2016
容易干不成大业绩!
展开
-
分布式理论基础:2PC、3PC、Paxos
文章目录2PC二阶段提交(Tow-Phase Commit)优点缺点3PC三阶段提交(Three-Phase Commit)优点缺点Paxos边角料小结2PC二阶段提交(Tow-Phase Commit)阶段一:提交事务请求(投票阶段)阶段二:执行事务或中断事务(执行阶段)优点原理简单,实现方便缺点同步阻塞协调者单点问题数据不一致(由脑裂引起)过于保守脑裂:即...原创 2019-01-06 10:06:51 · 987 阅读 · 0 评论 -
分布式理论基础:ACID、CAP、BASE
文章目录事务的ACID特性CAPBASE事务的ACID特性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)CAP详见:《分布式基础理论–CAP》《分布式基础理论–CAP历史篇》一致性(Consistency)可用性(Availability)分区容错性(Partition tolerance)B...原创 2019-01-06 08:38:30 · 432 阅读 · 0 评论 -
分布式一致性:不同的场景与一致性级别
文章目录三个场景火车站售票银行转账网上购物对上述三个场景进行抽象进一步抽象:一致性级别三个场景火车站售票无论在哪个售票窗口,每时每刻的余票都必须是准确无误的。银行转账实时扣除的账户金额,到另一个账户上是有时延的,但是最终要求金额准确无误。网上购物商品详情页面上显示的库存量,通常不是商品的真实库存量,只有在下单购买的时候,系统才会检查该商品的真实库存量。对上述三个场景进行抽象有些...原创 2019-01-05 23:53:13 · 1576 阅读 · 0 评论 -
Checkpoint:CRIU的使用
Checkpoint/Restore是分布式系统容错领域的重要技术,本篇介绍了一个实现CR的工具的使用。 CRIU:Checkpoint/Restore in Userspace 是Linux平台在用户空间实现checkpoint/restore功能的工具软件。通过该工具,可以冻结正在运行的应用程序或者其中的一部分,并将应用程序的执行状态以文件形式保存在磁盘上,然后通过这些快照文件,...原创 2018-09-10 11:39:57 · 5008 阅读 · 1 评论 -
Zookeeper 安装与配置
安装环境centos 7jdk 1.8安装步骤1. 下载wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gztar -zxvf zookeeper-3.4.11.tar.gz -C ~/app/2. 配置环境变量vim ~/.b...原创 2018-07-28 12:02:02 · 1751 阅读 · 0 评论 -
Zookeeper 搭建分布式集群
在单机上起3个不同端口号的进程,实现单机伪分布式集群,通过写入一个数据来验证数据一致性。cp -r zookeeper-3.4.11/ zookeeper1/cp -r zookeeper-3.4.11/ zookeeper2/cp -r zookeeper-3.4.11/ zookeeper3/配置1)zoo.cfg配置文件vim zookeeper2/conf/zoo....原创 2018-07-28 13:43:33 · 1746 阅读 · 0 评论 -
强一致性、顺序一致性、弱一致性和共识
1. 一致性(Consistency)一致性(Consistency)是指多副本(Replications)问题中的数据一致性。可以分为强一致性、顺序一致性与弱一致性。1.1 强一致性(Strict Consistency)也称为: 原子一致性(Atomic Consistency) 线性一致性(Linearizability Consistency)两个要求:任何一次读...原创 2018-07-21 21:57:37 · 36477 阅读 · 6 评论 -
phxpaxos编译 完整流程(精简版)
以下流程从一个新的虚拟机开始安装环境:CentOS-7-x86_64-Minimal网络配置:安装net-tools,能用ifconfig命令和ssh连接即可。1. 安装依赖yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidocyum -y install ...原创 2018-07-22 11:02:44 · 2894 阅读 · 1 评论 -
phxpaxos编译 完整流程
前言0. 成功编译的环境1. 下载坑1 编译安装git 2.2.1坑2 升级nss2. 编译leveldb坑3 重新下载leveldb 1.183. 编译protobuf坑4 寻找gmock-1.7.04. 编译PhxPaxos静态库5. 编译glog坑5 编译安装更高版本的autoconf和automake6. 编译PhxPaxos Plugin静态库...原创 2018-07-19 21:11:25 · 2650 阅读 · 0 评论 -
分布式基础理论--CAP历史篇
CAP理论在互联网界有着很高的知名度,有工程师会把其作为衡量系统设计的准则。CAP究竟是什么,可以参见:《分布式理论基础–CAP》而这里,我们来看看CAP的历史。1. 诞生1985年Lynch证明了异步通信中不存在任何一致性的分布式算法(FLP Impossibility)的同时,人们就开始寻找分布式系统设计的各种因素。一致性算法既然不存在,但若能找到一些设计因素,并进行适当的取舍以最大限...原创 2018-07-18 20:06:32 · 1769 阅读 · 0 评论 -
分布式基础理论--CAP
CAP理论理解CAP理论注意CAP误区CAP理论是分布式系统、特别是分布式存储领域中被广泛探讨的理论。它被称作CAP原则,又有人称之为CAP定理,具体指的是: 在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。一个分布式系统可以有如下的评价指标:...原创 2018-07-17 19:47:15 · 1813 阅读 · 0 评论 -
分布式一致性算法的一个典型应用场景
多副本一致性主从同步方式主从异步方式Oracle中的应用CAP理论多副本一致性这是分布式一致性算法的一个典型应用场景。在分布式存储系统中经常使用多副本的方式实现容错,这样部分副本的失效不会导致数据的丢失。当然,前提是每次更新操作都需要更新数据的所有副本,使多个副本的数据保持一致。 那么,如何在一个可能出现各种故障的异步分布式系统中保证同一数据的多个副本的一致...原创 2018-07-17 20:28:57 · 4155 阅读 · 0 评论 -
一致性算法中的节点下限
在众多的分布式一致性算法中,经常需要通过节点的数量满足某种规则来保证算法的正确性。比如Paxos算法,依赖一个“多数派(majority)”节点的存活。这类算法的共同目标是:容许尽量多的节点失败但又不影响算法的正确性。这类问题本质上都抽象为数学上集合之间的逻辑关系,下面我们便从集合的性质入手讨论,为此先引入两个问题: 假设N为一非空结合,n为集合的元素个数,M1,M2,…,Mm为N的m...原创 2018-07-11 10:35:53 · 1683 阅读 · 0 评论 -
《Paxos Made Simple》翻译
Abstract1. Introduction2. The Consensus Algorithm2.1 The Problem2.2 Choosing a Value2.3 Learning a Chosen Value2.4 Progress2.5 The Implementation3. Implementing a State MachineReferences...原创 2018-07-05 21:30:59 · 1568 阅读 · 0 评论