开发者社区> 问答> 正文

请教下大家,cassandra 集群中gossip信息交换相关问题 1. 集群发现是通过seeds节点主动去pull呢 还是节点各自固定频率交换信息; 2. 某个节点接受数据时,此时是主动push,还是按固定频率,节点pull获取信息。 这个我没有找到相关官方文档,求教于大家告知下

请教下大家,cassandra 集群中gossip信息交换相关问题 1. 集群发现是通过seeds节点主动去pull呢 还是节点各自固定频率交换信息; 2. 某个节点接受数据时,此时是主动push,还是按固定频率,节点pull获取信息。 这个我没有找到相关官方文档,求教于大家告知下

展开
收起
小六码奴 2019-05-30 14:48:06 2123 0
1 条回答
写回答
取消 提交回答
  • seeds只是在新节点bootstrap的时候有用,因为新节点加入cluster时候需要知道这个cluster的topology,这时候是通过seeds节点获得,对于已经加入cluster 的node,是节点之间互相交换信息,就像gossip一样,by default应该是每一秒交换一次信息,gossip还有一个failure detection,如果某个node在特定的failure detect window,内有没有response,其他node就会在gossip中把这个node mark成down的状态,这个failure detect window由phi_convict_threshold这个参数控制,如果这个值越大,这个window就越大,所以如果你的网络延迟高,可以适当调大这个值,by default是8


    gossiop 只会交互最基本的version heartbeat信息,交互的时候上一个节点的到来时间ts这个信息会拿来计算一个phi,这个就是mike说的概率。都有对应的论文可以看。 再次,gossip的task是一个定时的交互任务,频率1s。会和一个live节点,一个unreachable节点以及如果live节点不是seed节点就再选一个seed节点进行交互。
    同样seed节点间也是这样操作

    2019-07-17 23:36:23
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
探索连接的最后十秒”落时”的网关 立即下载
《用管控策略设定多账号组织全局访问边界》 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载