zoukankan      html  css  js  c++  java
  • ZooKeeper 入门 一致性

    ACID是什么?四种隔离级别?默认隔离级别是?

    CAP:一致性 可用性 分区容错性

    BASE理论:基本可用 弱状态 最终一致性

    (PS:Undo Redo不提交,也就意味数据未写到磁盘只是写到了事务日志内且资源一直被加锁)

    2PC?(提交事务请求{可否事务?};执行事务提交{有No全部rollback并反馈};)

    3PC?(CanCommit{询问是否可以提交并返回各点响应} ; PreCommit{预提交并返回成功与否的响应,有否就全部参与者都中断并rollback} ; DoCommit{正式事务提交、中断、rollback...} ;)

    2PC 3PC 各自优缺点?(同步阻塞 单点问题 数据不一致 过于保守;)(解决了单点问题,但是会引入不一致的问题{由于通信中断参与者依然会commit})

    Paxos的理解

    一个一致性算法需要保证的点是:被提出的提案中仅有一个会被选定,没有提出提案就不会被选定,提案被选定后进程可以获取被选定的提案信息

    对于这个一致性算法需要的安全性是:只有被提出的提案才能被选中,只能选一个提案,如果进程认为提案被选定了那这个提案必须是被选中的那个

    提案选定分为两个阶段:(小于提案编号的提案被acc拒接,大于该提案编号的提案的val为提案的val)

    1. proposer选一个提案发送给一个acc组,一个acc收到一个Mn的提案,返回已经批准过的最大编号的提案(提案小于Mn,且空也可即代表还未批准过),如果批准过的比Mn大不响应
    2. 对于Mn,proposer收到半数以上acc发出的响应后,就发送accept请求给Acceptor;当acc收到accept请求后只要没有对更大的M响应过,就可以通过。

    Learner的提案获取过程分三种方法:

    1. 每个acceptor一旦acc一个提案,和所有learn通信,通信次数:Nacc * Nlearn
    2. acceptor只和一个主learner通信,主learner通信其余learner,次数:Nacc + Nlearn。缺点:主learner可能崩溃
    3. 和多个learner组成的主learner通信,再由这个告诉其余learner。缺陷:主learner组越大,通信越复杂

    保证算法活性:(有可能两个proposal分别生成提案,均完成阶段一,没法完成阶段二,进入死循环)

    • 选定主Proposal才能提出提案
  • 相关阅读:
    如何将cordova导入Android studio,只需两步即可
    Cordova 教程 学习步骤-从零基础开始
    特效插件
    jq 命名空间
    input聚焦后光标移动至末尾
    时间常用api
    jq 便捷api jq 常用 api jq 快捷 api
    键盘事件
    创建爬网规则
    SharePoint 2013 本地开发解决方案以及程调试(真的可以)
  • 原文地址:https://www.cnblogs.com/tillnight1996/p/12874737.html
Copyright © 2011-2022 走看看