参考答案
1. 同步队列
- 当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达。
- 在约定目录下创建临时目录节点,监听节点数目是否是我们要求的数目。
2. 队列按照 FIFO 方式进行入队和出队操作。
- 入列有编号,出列按编号,和分布式锁服务中的控制时序场景的基本原理一致。
- 在特定的目录下创建 PERSISTENT_SEQUENTIAL 节点,创建成功时Watcher 通知等待的队列,队列删除序列号最小的节点用以消费。
- 此场景下Zookeeper 的 znode 用于消息存储,znode 存储的数据就是消息队列中的消息内容,SEQUENTIAL 序列号就是消息的编号,按序取出即可。
- 由于创建的节点是持久化的,所以不必担心队列消息的丢失问题。
以上,是Zookeeper面试题【Zookeeper 队列管理】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—