如何实现?
添加唯一ID,类似于数据库的主键,用于唯一标记一个消息。
ProducerID:#在每个新的Producer初始化时,会被分配一个唯一的PIDSequencEnumber:#对于每个PID发送数据的每个Topic都对应一个从0开始单调递增的SN值
如何选举
1.使用 Zookeeper 的分布式锁选举控制器,并在节点加入集群或退出集群时通知控制器。
2.控制器负责在节点加入或离开集群时进行分区Leader选举。
3.控制器使用epoch忽略小的纪元来避免脑裂:两个节点同时认为自己是当前的控制器。