分布式

作者: RedHatMe | 来源:发表于2019-10-10 18:01 被阅读0次

    Kafka:

    kafka的安装包自带 了zk。用于协调kafka单个server。官网给的图狠明确了。


    image.png

    ES:

    1.Elasticsearch是一个基于Lucene的分布式实时搜索框架,它本身能够接受用户发来的http 请求, 集群节点之2.间也会有相关的通信。
    3.Elasticsearch中所有的节点组成为一个集群是依赖一个叫gossip协议。
    4.ZenDiscovery是ES自己实现的一套用于节点发现和选主等功能的模块,没有依赖Zookeeper等工具。

    5.RAFT vs ZenDiscovery : raft是一个被论证过正确性的算法,而ES的算法是一个没有经过论证的算法,只能在实践中发现问题,做bug fix,这是我认为最大的不同。

    Redis

    1. redis 官方给出的cluster方案节点间的通信方式也是gossip协议。


      image.png
    2. 总体方案有以下几种:
      官方cluster方案
      twemproxy代理方案
      哨兵模式
      codis
      客户端分片
      其中,twemproxy | codis 两个方案目前来看都是代理方式。

    引用:

    《从Paxos到Zookeeper分布式一致性原理与实践》

    分布式系统架构--左耳朵提供的资料
    https://www.infoq.cn/article/2018/05/distributed-system-architecture

    ES节点通信:
    https://www.nosuchfield.com/2019/03/18/How-Elasticsearch-elected-the-master/
    Elasticsearch分布式一致性原理剖析(一)-节点篇
    https://zhuanlan.zhihu.com/p/34830403

    Redis方案
    https://cloud.tencent.com/developer/article/1163711
    官方方案
    https://www.cnblogs.com/kerwinC/p/6611634.html
    Redis节点通信
    https://www.jianshu.com/p/6942e8d3e596

    相关文章

      网友评论

          本文标题:分布式

          本文链接:https://www.haomeiwen.com/subject/knnjxctx.html