zoukankan      html  css  js  c++  java
  • 大数据生态圈的一致性

    大数据生态圈中,保证一致性的方式举不胜举
    Hadoop 用 Zookeeper(Zab, Paxos + 事务顺序)
    ElasticSearch 用 Hash 路由算法(非 一致性 Hash)
    Cassandra 用 Gossip 闲话算法
    Redis 用 Raft 选举算法

    他们各有什么区别,为什么会如此选型?
    Paxos 选举算法
     Paxos 是最先解决拜占庭将军问题的算法,利用过半选举的机制,保证了集群数据副本的一致性(微服务中服务注册与发现的场景,其实已经不再适用了)
    Raft 选举算法
     Redis 使用 Raft 实现了自己的分布式一致性。Raft 本身和 Paxos 并没有场景上的区别。更多的是,协议上的简化、Term 概念的强化、Log 只会从 Leader 到 Follower 单向同步,使得实现起来会很方便
    Zab 原子广播协议
     Hadoop 偏向于离线的海量数据处理,利用 Zookeeper 来保证数据副本的一致性,是最为合适的
    Hash 路由算法
     ElasticSearch 希望能在服务宕机的时候,也能提供查询的功能,并且希望能达到 较高的数据存储的 负载均衡的能力
    一致性Hash
     数据存储的负载均衡
     最新的进展,是在去年 Google 发表的一篇 有界负载的一致性 Hash 算法的论文。该算法保证了负载均衡一致性和稳定性的同时,在均匀性方面做出了实质性地改进。同时,Consistent Hashing with Bounded Loads 算法 也在 HaProxy 开源项目中得以应用,有效减少了其 8 倍的缓存带宽
    Gossip 闲话算法
     Gossip 主要被 Cassandra 用于实现其分布式一致性。因为 Cassandra 框架,更看重 去中心化 和 容错 的特性,在不违背 CAP 定理的情况下,能够接受 最终一致性

    转自,侵删
    https://yuzhouwan.com/posts/54206/

  • 相关阅读:
    CentOS查看CPU信息、位数、多核信息
    Linux常用命令大全
    chmod命令详细用法
    tar命令的详细解释
    yum和rpm命令详解
    LeetCode 241. Different Ways to Add Parentheses
    LeetCode 139. Word Break
    LeetCode 201. Bitwise AND of Numbers Range
    LeetCode 486. Predict the Winner
    LeetCode 17. Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/AndersonX/p/8710512.html
Copyright © 2011-2022 走看看