从Paxos到Zookeeper分布式一致性原理与实践 读书笔记之(一) 分布式架构
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分布式一致性原理与实践 读书笔记之(一) 分布式架构的更多相关文章
- 从Paxos到Zookeeper 分布式一致性原理与实践读书心得
一 本书作者介绍 此书名为从Paxos到ZooKeeper分布式一致性原理与实践,作者倪超,阿里巴巴集团高级研发工程师,国家认证系统分析师,毕业于杭州电子科技大学计算机系.2010年加入阿里巴巴中间件 ...
- 《从Paxos到Zookeeper:分布式一致性原理与实践》【PDF】下载
内容简介 Paxos到Zookeeper分布式一致性原理与实践从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议. ...
- 《从Paxos到ZooKeeper分布式一致性原理与实践》学习笔记
第一章 分布式架构 1.1 从集中式到分布式 集中式的特点: 部署结构简单(因为基于底层性能卓越的大型主机,不需考虑对服务多个节点的部署,也就不用考虑多个节点之间分布式协调问题) 分布式系统是一个硬件 ...
- 我读《从Paxos到zookeeper分布式一致性原理与实践》
从年后拿到这本书开始阅读,到准备系统分析师考试之前,终于读完了一遍,对Zookeeper有了一个全面的认识,整本书从理论到应用再到细节的阐述,内容安排从逻辑性和实用性上都是很优秀的,对全面认识Zook ...
- 《从Paxos到ZooKeeper 分布式一致性原理与实践》读书笔记
一.分布式架构 1.分布式特点 分布性 对等性.分布式系统中的所有计算机节点都是对等的 并发性.多个节点并发的操作一些共享的资源 缺乏全局时钟.节点之间通过消息传递进行通信和协调,因为缺乏全局时钟,很 ...
- [从Paxos到ZooKeeper][分布式一致性原理与实践]<二>一致性协议[Paxos算法]
Overview 在<一>有介绍到,一个分布式系统的架构设计,往往会在系统的可用性和数据一致性之间进行反复的权衡,于是产生了一系列的一致性协议. 为解决分布式一致性问题,在长期的探索过程中 ...
- 2月22日 《从Paxos到Zookeeper 分布式一致性原理与实践》读后感
zk的特点: 分布式一致性的解决方案,包括:顺序一致性,原子性,单一视图,可靠性,实时性 zk的基本概念: 集群角色:not Master/Slave,is Leader/Follower/Obser ...
- 《从Paxos到ZooKeeper 分布式一致性原理与实践》阅读【Watcher】
ZooKeeper 允许客户端向服务端注册一个 Watcher 监听,当服务端的一些指定事件触发了这个 Watcher,那么就会向指定客户端发送一个事件通知来实现分布式的通知功能. ZooKeeper ...
- 《从Paxos到Zookeeper:分布式一致性原理与实践》第一章读书笔记
第一章主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID.CAP和BASE等经典分布式理论,主要包含以下内容: 集中式的特点 分布式的特点 分布式环境的各种问题 ACI ...
随机推荐
- HDU4341-Gold miner-分组DP
模拟黄金矿工这个游戏,给出每一个金子的位置和所需时间,计算在给定时间内最大收益. 刚看这道题以为金子的位置没什么用,直接DP就行,WA了一发终于明白如果金子和人共线的话只能按顺序抓. 这就是需要考虑先 ...
- IDM下载神器
破解版IDM 个人评价:基本上能满足日常下载需求,除bt.磁力外. 不管是在线视频, 还是音乐, 电子书, 统统都能下载, 还附有爬虫功能~~ 直接附链接: 百度云链接: https://pan.ba ...
- SuperSocket 案例
SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架.你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作 ...
- MT【266】求$a$的范围
已知 $a$ 为常数,函数$f(x)=\dfrac{x}{\sqrt{a-x^2}-\sqrt{1-x^2}}$ 的最小值为$-\dfrac{2}{3}$,则 $a$ 的取值范围_____ 解: 考虑 ...
- QML用Qt.labs.settings实现保存用户设置
举个简单的例子: main.cpp中设置程序信息 QGuiApplication::setApplicationName("Gallery"); QGuiApplication:: ...
- Hdoj 2044.一只小蜜蜂... 题解
Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input 输入数据的第一 ...
- 跨SQL注入
概念 SQL Injection按照字面意思来翻译就是"SQL注射",常被叫做"SQL注入",它的含义就是利用某些数据库的外部接口把用户数据插入到实际数据库操作 ...
- cf351B Jeff and Furik (树状数组)
逆序对数=0的时候,这个数列是有序的 然后交换相邻的,看哪个比较大,逆序对数会加1或减1 Jeff用的是最优策略所以他肯定让逆序对数-1 设f[i]表示Jeff操作前,逆序对数为i,最终的期望次数 那 ...
- A.01.02—模块的输入—高端输入
高端输入即一个高电平信号输入到模块,模块采样时最典型的是采用下拉电阻采样,当然,还有限流电阻和分压电阻,具体可以参见实际电路. 高端输入在汽车上用得不多,这种类型的输入既可以是开关提供的也可以是模块提 ...
- Yii2 如何输出 sql 语句?
可以用 $model->find()->createCommand()->getRawSql(); 不能带 all(). find() 它的 返回值类型是 yii\db\Active ...