分布式系统原理与规范 笔记2

第五章
1.时钟同步
计时器 石英晶体; 真正重要的是相对时间;n台机器之间会有 时钟偏移
选举算法:
选举算法试着找出进程号最大的进程,指定为协调者。
1.欺负着算法
1)p向比她编号大的进程发生election消息;
2.如果无人响应,p获胜成为协调者
3)如果有比编号比p的进程响应,则p工作完成。
2.环算法
进程知道他的后继者是谁,如果协调者失效,会依次向后传递。协调者还要向其他进程发送消息通知自己是协调者。
3.互斥算法
单点故障问题
4.分布式互斥算法
要求系统中的所有时间都是完全排序的。
当一个进程想要进入临界区,构造消息:进入临界区的名字,进程号,当前时间;然后发给其他进程;其他进程根据自己与消息中
临界区相关的状态来决定她要采取的动作。
1)reciver不在临界区,发送ok
2)若在,则暂且不进行回答,将请求放入队列中
3)reciver想进入临界区但尚未进入,把收到的消息的时间戳与包含在它发送给其余进程的消息的时间戳进行比较。
时间较早的获胜。
all or nothing
实务的特性:
原子性 实务的发生是不可分割的
一致性 事务不能破坏系统的稳定性
独立性 并发的事务不相互影响
持久性 一旦事务提交,改变将是永远存在的。


分布式事务:一个单层子事务需要处理分布在多台机器上的数据。 需要用分布式算法来锁定数据和提交整个事务。
嵌套事务:按照事务逻辑分为子事务。


方法:
1、私有工作空间(拷贝)
2、写前日志 write head log;对事务中的任何一句都要记录 变量的old/new value;
如果事务执行成功,一条commit记录被写进日志,数据结构不需修改,因为已经是最新的。
如果事务终止,使用日志来回退到原来的状态。roolback


并发控制:
并发控制允许几个事务同时执行,但是被操作的数据集合要保持一直的状态。
两阶段加锁: 调度管理器在增长阶段 获取lock;收缩阶段释放
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值