zoukankan      html  css  js  c++  java
  • Consul:Gossip协议

      Consul使用gossip协议来管理成员和广播消息到集群。所有这些都是通过使用Serf库提供的。Serf使用的gossip协议基于“SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol”,有一些小的修改。更多关于Serf的协议细节见此文档

    Consul中的Gossip

      Consul使用两个不同的gossip池。我们分别称为LAN和WAN池。每个数据中心有一个LAN gossip池,它包含数据中心的所有成员——client和server。LAN池用于几个目的:成员关系运行client自动发现server,减少配置量;分布式的故障检测允许故障检测的工作由整个集群承担,而不是集中在少数server上;最后gossip池允许可靠和快速的事件广播,比如leader选举。

      WAN池是全局唯一的,以为所有的server都应该加入WAN池,不论是哪个数据中心的。WAN池提供的成员关系允许server执行跨数据中心请求。集成的故障检测允许Consul优雅的处理整个数据中心失联,或者远程数据中心只有一个server。

      所有这些特征通过Serf提供。它被用来作为一个嵌入式的包来提供这些特征。从用户的角度,这是不重要的,因为这些抽象应该被Consul屏蔽。然而这对于开发者理解这个包是如何应用是很有用的。

    Lifeguard Enhancements

      SWIM假设本地节点是健康的,在这个意义上软实时处理数据包是可能的。然而,在本地节点正处于CPU或者网络资源枯竭的情况下,这个假设就不成立了。结果就是serfHealth检查状态会偶尔的抖动,导致错误的报警,增加遥测噪声,和简单的导致整个集群浪费CPU和网络资源来诊断一个可能并不真的存在的故障。

      Lifeguard通过增加SWIM彻底解决了这个问题。Lifeguard的更多的细节请看Serf的gossip协议引导部分

  • 相关阅读:
    ORA-14404
    ORA-00845
    ORA-00054
    oracle-11g-配置dataguard
    ORACLE 11G 配置DG 报ORA-10458、ORA-01152、ORA-01110
    Python:if __name__ == '__main__'
    HDFS-Shell 文件操作
    HDFS 概述
    PL/SQL Developer
    CentOS7 图形化方式安装 Oracle 18c 单实例
  • 原文地址:https://www.cnblogs.com/lsf90/p/6040929.html
Copyright © 2011-2022 走看看