sofastack / sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.
https://www.sofastack.tech/projects/sofa-jraft/
Apache License 2.0
3.56k stars 1.14k forks source link

节点管理问题:某个节点kill -9后,leader节点如何感知 #999

Closed sondertara closed 1 year ago

sondertara commented 1 year ago

跑了counter例子,当某个节点下线后,Leader节点还一直在发心跳(控制台错误日志一直在刷),请问Leader节点如何感知下线并调用removePeer移除节点

shihuili1218 commented 1 year ago

com.alipay.sofa.jraft.Node#removePeer 用于成员变更的,需要使用者来调用。

某个节点宕机后,并不是成员变更的场景,因为它有可能恢复,leader会尝试跟它保持联系

sondertara commented 1 year ago

@shihuili1218 感谢回复,场景是您说的那种,就是节点宕机后,有没有类似心跳失败到达阈值后,把节点从集群中移除的机制或者方法。

首先是移除节点,不再发送心跳,其次是跟这个 #542 这个场景类似

shihuili1218 commented 1 year ago

没有的,因为那个成员还可能恢复,增加移除机制后,那它恢复了咋办呢?

sondertara commented 1 year ago

没有的,因为那个成员还可能恢复,增加移除机制后,那它恢复了咋办呢?

OK,感谢解答❤️