开发者社区> 问答> 正文

Zookeeper 的队列管理(文件系统、通知机制),如何实现?

Zookeeper 的队列管理(文件系统、通知机制),如何实现?

展开
收起
爱喝咖啡嘿 2021-10-18 12:18:44 533 0
1 条回答
写回答
取消 提交回答
  • 两种类型的队列:

    (1)同步队列,当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达。

    (2)队列按照 FIFO 方式进行入队和出队操作。

    第一类,在约定目录下创建临时目录节点,监听节点数目是否是我们要求的数目。

    第二类,和分布式锁服务中的控制时序场景基本原理一致,入列有编号,出列按编号。在特定的目录下创建 PERSISTENT_SEQUENTIAL 节点,创建成功时Watcher 通知等待的队列,队列删除序列号最小的节点用以消费。此场景下Zookeeper 的 znode 用于消息存储,znode 存储的数据就是消息队列中的消息内容,SEQUENTIAL 序列号就是消息的编号,按序取出即可。由于创建的节点是持久化的,所以不必担心队列消息的丢失问题。

    2021-10-18 12:19:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《MSE 微服务网关》 立即下载
微服务引擎 MSE 治理中心重磅发布 立即下载
阿里云微服务引擎 MSE 2.0 线上发布 立即下载