一、什么是 Learner

ZooKeeper 是一个分布式的,开源的分布式应用程序协调服务,它能够处理分布式应用程序中类似于命名,配置维护,组服务等一些复杂的协调服务。ZooKeeper 的集群由一个或多个服务器组成,每个服务器称为一个节点,每个节点都可以是一个 leader 或一个 learner。

二、Learner 的作用

Learner 的主要作用是接收来自 leader 的更新信息,并将其同步到自己的本地存储中。它还会监听 leader 的心跳,如果 leader 没有发送心跳,那么 learner 就会选举出一个新的 leader。

三、Learner 的主要功能

1、Learner 负责同步 leader 发送的更新信息,并将其存储到本地,以确保集群中的所有节点都保持数据的一致性。

2、Learner 会监听 leader 的心跳,如果 leader 没有发送心跳,那么 learner 就会选举出一个新的 leader。

3、Learner 会监听其他节点的心跳,如果发现其他节点出现故障,那么它会将该节点从集群中移除,以确保集群的可用性。

4、Learner 可以在 leader 发送信息时,向其他节点发送确认消息,以确保集群中的所有节点都收到了 leader 发送的更新信息,并且都保持数据的一致性。