- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1.2k
 
Open
Description
Your question
Quiescent raft group :
一个 Raft Group 长时间无写操作(即所有副本都是同步的,并且没有新的客户端请求),它们可以进入“休眠”状态。
领导者(Leader)和追随者(Follower)减少或停止周期性的心跳包和状态同步。
唤醒机制:一旦有新的读写请求或配置变更等事件,马上唤醒全部 Peer,恢复正常活动。
主要目的: 降低资源消耗(网络+CPU),尤其是大规模部署下的小 Partition/Region。减少无效通讯。
问题:
目前jraft的心跳、选举都是通过内部定时器驱动的,应用方无法定制。是否考虑类似 etcd/raft, 提供 tick 等方法,由应用心跳/触发选举。
Your scenes
类似与 tikv 的 hibernate-regions 特性
https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file/#hibernate-regions
我的应用中存在大量的 raft group, 大概 100 万以上。大部分 raft group 是处于“静默”状态。只有写请求 raft group 才需要被唤醒,重新触发心跳;读请求直接读取 leader/follower 即可,无需唤醒
Metadata
Metadata
Assignees
Labels
No labels