《云计算技术系列丛书 云原生分布式存储基石: etcd深入解析》—2.3.6分布式队列
【摘要】 本书摘自《云计算技术系列丛书 云原生分布式存储基石: etcd深入解析》一文中的第2章,第2.3.6节,作者是华为云容器服务团队、杜军等编著。
2.3.6 分布式队列
分布式队列的常规用法与分布式锁的控制时序用法类似,即通过创建一个先进先出的队列来保证顺序。
另一种比较有意思的实现是在保证队列达到某个条件时再统一按顺序执行。要实现这种方法,可以在“/queue”目录中另外建立一个“/queue/condition”节点,如图2-10所示。关于condition节点,具体说明如下。
1)condition可以表示队列的大小。比如一个大的任务若需要在很多小任务都就绪的情况下才能执行,那么每当有一个小任务就绪时,就将这个condition的数值加1,直到达到大任务规定的数字,然后再开始执行队列里的一系列小任务,直至最终执行大任务。
2)condition可以表示某个任务不在队列中。这个任务既可以是所有排序任务的首个执行程序,也可以是拓扑结构中没有依赖的点。通常,必须在执行这些任务之后才能执行队列中的其他任务。
3)condition还可以表示开始执行任务的通知。可以由控制程序来指定,当condition发生变化时,开始执行队列任务。
图2-10 etcd做分布式队列
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)