1.1 从集中式到分布式

1 集中式特点

结构简单,无需考虑对多个节点的部署和节点之间的协作。

2  分布式特点

分不性:在时间可空间上随意分布,机器的分布情况随时变动

对等性:计算机之间没有主从之分,所有计算机之间是对等的。副本是分布式系统对数据和服务提供的一种冗余手段。

数据副本,是指在不同的节点上持久化同一份数据,只是解决分布式系统数据丢失的最有效手段。

服务副本,多个节点提供同样的服务,每个节点有能力接受外部的请求并进行处理。

并发性

缺乏全局时钟:很难定义两个事件的顺序谁先谁后,原因是缺乏全局时钟序列控制。

故障总是会发生:组成分布式系统的所有计算机随时可能发生各种形式的故障。

3 分布式环境各种问题

通信异常

网络分区:当网络发生异常,系统中部分节点之间网络延时不断增大,最终导致只有部分节点能够通信,另一些节点不能。这一现象叫网络分区,或者“脑裂”。

三态:失败、成功与超时。

节点故障:组成分布式系统的节点宕机或者“僵尸”,每个节点都会发生,每天都在发生。

1.2从ACID到CAP/BASE

1 ACID

原子性

全部成功执行

全部不执行

一致性

隔离性

未授权读取

授权读取

可重复读:事务处理过程中,多次读取数据是一致的。

串行化:所有事务被串行执行,是最严重的事务隔离级别。

隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read)
未授权读取 (Read uncommitted) 可能 可能 可能
授权读取(Read committed) 不可能 可能 可能
可重复读(Repeatable read) 不可能 不可能 可能
串行化(Serializable ) 不可能 不可能 不可能

级别越高,数据越安全,但性能越低。(不可重复读针对的是读取过程中其他线程对数据 update或delete,幻读针对insert进去符合条件的数据。)

持久性:指一个事务提交,它对数据的修改是永久性的。

2 分布式事务

3 CAP和BASE理论

CAP:一个分布式系统不可能同时满足一致性、可用性、分区容错性,这三基本要求最多只能满足其中的两个。

一致性:在多个副本中的数据是否能保持一致。

可用性:指系统提供的服务是否一致可用,对用户的请求是否能在有限的时间内返回结果。

分区容错性:在遇到任何网络故障的时候,仍然满足一致性和可用性的服务。

对一个分布式系统而言,分区容错性是一个最基本的要求。

Base理论:面向的是大型高可用可扩展的分布式系统,和传统事务的ACID不一样,它完全不同于ACID的强一致性模型,而是提出通过牺牲强一致性来获取数据在一段时间内是不一致的,但最终达到一致状态。

基本可用:分布式系统出现不可预知故障时,允许损失部分可用性。

响应时间上的损失

功能上的损失

弱状态:允许不同副本数据同步时候的传输延时。

最终一致性:指系统中所有的副本,在经过一段时间的同步之后,最终能够达到一个一致的状态。

从Paxos到Zookeeper分布式一致性原理与实践 读书笔记之(一) 分布式架构的更多相关文章

  1. 从Paxos到Zookeeper 分布式一致性原理与实践读书心得

    一 本书作者介绍 此书名为从Paxos到ZooKeeper分布式一致性原理与实践,作者倪超,阿里巴巴集团高级研发工程师,国家认证系统分析师,毕业于杭州电子科技大学计算机系.2010年加入阿里巴巴中间件 ...

  2. 《从Paxos到Zookeeper:分布式一致性原理与实践》【PDF】下载

    内容简介 Paxos到Zookeeper分布式一致性原理与实践从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议. ...

  3. 《从Paxos到ZooKeeper分布式一致性原理与实践》学习笔记

    第一章 分布式架构 1.1 从集中式到分布式 集中式的特点: 部署结构简单(因为基于底层性能卓越的大型主机,不需考虑对服务多个节点的部署,也就不用考虑多个节点之间分布式协调问题) 分布式系统是一个硬件 ...

  4. 我读《从Paxos到zookeeper分布式一致性原理与实践》

    从年后拿到这本书开始阅读,到准备系统分析师考试之前,终于读完了一遍,对Zookeeper有了一个全面的认识,整本书从理论到应用再到细节的阐述,内容安排从逻辑性和实用性上都是很优秀的,对全面认识Zook ...

  5. 《从Paxos到ZooKeeper 分布式一致性原理与实践》读书笔记

    一.分布式架构 1.分布式特点 分布性 对等性.分布式系统中的所有计算机节点都是对等的 并发性.多个节点并发的操作一些共享的资源 缺乏全局时钟.节点之间通过消息传递进行通信和协调,因为缺乏全局时钟,很 ...

  6. [从Paxos到ZooKeeper][分布式一致性原理与实践]<二>一致性协议[Paxos算法]

    Overview 在<一>有介绍到,一个分布式系统的架构设计,往往会在系统的可用性和数据一致性之间进行反复的权衡,于是产生了一系列的一致性协议. 为解决分布式一致性问题,在长期的探索过程中 ...

  7. 2月22日 《从Paxos到Zookeeper 分布式一致性原理与实践》读后感

    zk的特点: 分布式一致性的解决方案,包括:顺序一致性,原子性,单一视图,可靠性,实时性 zk的基本概念: 集群角色:not Master/Slave,is Leader/Follower/Obser ...

  8. 《从Paxos到ZooKeeper 分布式一致性原理与实践》阅读【Watcher】

    ZooKeeper 允许客户端向服务端注册一个 Watcher 监听,当服务端的一些指定事件触发了这个 Watcher,那么就会向指定客户端发送一个事件通知来实现分布式的通知功能. ZooKeeper ...

  9. 《从Paxos到Zookeeper:分布式一致性原理与实践》第一章读书笔记

    第一章主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID.CAP和BASE等经典分布式理论,主要包含以下内容: 集中式的特点 分布式的特点 分布式环境的各种问题 ACI ...

随机推荐

  1. 【CF472G】Design Tutorial 压位

    题目大意 给出两个\(01\)序列\(A\)和\(B\) 汉明距离定义为两个长度相同的序列中,有多少个对应位置上的数字不一样 \(00111\) 和 \(10101\)的距离为\(2\) \(Q\)次 ...

  2. Codeforces Round #541 (Div. 2) D(并查集+拓扑排序) F (并查集)

    D. Gourmet choice 链接:http://codeforces.com/contest/1131/problem/D 思路: =  的情况我们用并查集把他们扔到一个集合,然后根据 > ...

  3. 「SHOI2016」黑暗前的幻想乡 解题报告

    「SHOI2016」黑暗前的幻想乡 sb题想不出来,应该去思考原因,而不是自暴自弃 一开始总是想着对子树做dp,但是状态压不起去,考虑用容斥消减一些条件变得好统计,结果越想越乱. 期间想过矩阵树定理, ...

  4. 如何查看Linux操作系统版本?

    参考地址:http://www.ggat.cn/newsInfo.html/71 如何查看Linux操作系统版本? 1. 查看内核版本命令: $ cat /proc/version $ uname - ...

  5. [IOI2014]holiday假期(分治+主席树)

    题目描述 健佳正在制定下个假期去台湾的游玩计划.在这个假期,健佳将会在城市之间奔波,并且参观这些城市的景点.在台湾共有n个城市,它们全部位于一条高速公路上.这些城市连续地编号为0到n-1.对于城市i( ...

  6. MOSFET的半桥驱动电路设计要领详解

    1 引言 MOSFET凭开关速度快.导通电阻低等优点在开关电源及电机驱动等应用中得到了广泛应用.要想使MOSFET在应用中充分发挥其性能,就必须设计一个适合应用的最优驱动电路和参数.在应用中MOSFE ...

  7. webpack入门(一)webpack的动机 ---前端专业英语

    记得某次考试,出国N年老师出的卷子全是英语,坑的英语不好的我们不要不要的.幸亏上了专业英语课.最重要的是专业英语对于我们很重要,比如webpack,一堆博客都是几小时入门,如何会用webpack,当你 ...

  8. Flask block继承和include包含

    继承(Block)的本质是代码替换,继承我认为就是把完整的html文件继承到一个不完整的html文件里. 被继承html文件: <!DOCTYPE html> <html lang= ...

  9. Django(五)框架之模板继承和静态文件配置

    https://www.cnblogs.com/haiyan123/p/7731959.html 一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% end ...

  10. python3+django2 开发易语言网络验证(下)

    第六步:网络验证服务器端项目上线部署 功夫不负有心人,终于部署成功啦! 前期准备: 项目名:netauth 系统:百度云服务器下的Ubuntu16.4 软件:xshell(无论如何想办法用这个跟服务器 ...