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

开发者社区> 问答> 正文

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

小六码奴 2019-05-30 14:48:06 544

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

NoSQL
分享到
取消 提交回答
全部回答(1)
  • 小六码奴
    2019-07-17 23:36:23

    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节点间也是这样操作

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程