美文网首页
zookeeperDistributedQueue

zookeeperDistributedQueue

作者: 时待吾 | 来源:发表于2017-06-17 18:55 被阅读4次

    传统的单进程编程中,使用队列 存储一些数据结构,用来在多线程中共享或传递数据,

    在分布式环境下,同样需要类似 单进程编程中的 用来实现跨进程 跨主机 跨网络的数据共享和数据传递 -- 分布式队列‘

    zookeeper可以通过顺序节点 实现 分布式队列

    分布式队列指的是当多客户端进入队列后 依照排队的顺序(持久化序列化生成节点)进行相应的读取

    (读取时依照节点大小排序后读取对应的节点数据即可 然后删除排队节点)

    架构图:

    zookeeper集群:

    /zookeeper

    /queue

    /element1

    /element2

    /element3

    客户端请求:

    生产者:

    服务器处理请求:

    消费者

    生产者算法(入队算法):

    创建持久的序列化的顺序节点

    消费者算法(出队算法):

    1/首先读取queue节点下的所有子节点

    2/针对所有子节点 根据序列号进行排序

    3/读取第一个子节点的数据并返回

    4/删除读取的子节点

    阻塞式:

    在队列中为空时,服务器一直处于阻塞状态直到读取到队列中最新的数据为止。

    测试的时候注意延迟调度执行  入队操作

    相关文章

      网友评论

          本文标题:zookeeperDistributedQueue

          本文链接:https://www.haomeiwen.com/subject/jvdbqxtx.html