zoukankan      html  css  js  c++  java
  • 分布式系统一致性算法备注

    1. 传统算法:quorum NRW, 2pc, 3pc等

    2. Paxos算法

    论文:《paxos made simple》, 《The Part-Time Parliament

    微信已经基于paxos开发了一套组件:

    phxpaxos框架源码, 租约型paxos算法实现

    https://github.com/Tencent/phxpaxos

    Phxsql: 基于phxpaxos框架开发的分布式sql数据库,

    https://github.com/Tencent/phxsql

    Phxqueue: 基于phxpaxos框架开发的分布式消息队列

    https://github.com/Tencent/phxqueue

     Paxosstore,基于无租约型paxos算法实现的Nosql分布式数据存储系统,目前部分开源了算法的核心部分。

    https://github.com/Tencent/paxosstore

    paxos活锁问题

    多个paxos group同时prepare,容易出现活锁问题,既一段时间内任意一台机器都不能获得大多数机器的接受。解决方法是先确定一个master,强一致选主,只有master可以prepare

    2.  raft等算法

    paxos更加容易理解容易实现,强化leader地位,限制日志id连续性,但是也会一定程度上影响性能。

    论文:《In Search of an Understandable Consensus Algorithm (Extended Version)

    较著名的实现有etcd, cockrouchDB,tidb, kubernetes

    etcd源码:

    https://github.com/etcd-io/etcd

    goraft源码:

    https://github.com/goraft/raft

  • 相关阅读:
    MySQL之pymysql模块
    MySQL 之 索引原理与慢查询优化
    MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
    MySql之数据操作
    MySQL之多表查询
    MySQL之单表查询
    MySQL之表的约束
    MySQL之表操作
    MySQL之表的数据类型
    pycharm 2016 注册(pycharm-professional-2016.3.2)
  • 原文地址:https://www.cnblogs.com/coderkian/p/10077859.html
Copyright © 2011-2022 走看看