使用场景
在传统的单进程编程中,我们使用队列来存储数据结构,用来在多线程之间共享或者传递数据。在分布式环境下,同样需要一个类似单进程的组件, 用来实现跨进程、跨主机、跨网络的数据共享和数据传递。这就是我们的分布式队列。Zookeeper可以通过顺序节点来实现分布式队列。
原理解析
架构图
右边是消费者和生产者。
生产者通过在queue创建节点来存储数据,消费者通过读取顺序节点来消费数据。
offer核心算法流程
poll核心算法流程