Sab*_*bya 10 distributed-computing distributed-system apache-zookeeper
我打算编写一个具有分布式工作进程的应用程序.其中一个将是Leader,它将任务分配给其他进程.设计领导者选举过程非常简单:每个过程都尝试在同一路径中创建一个短暂的节点.无论谁成功,都会成为领导者.
现在,我的问题是如何设计均匀分配任务的过程?这个的任何食谱?
我将详细介绍一下环境设置:
假设有10个工人机器,每个机器运行一个过程,其中一个成为领导者.任务在队列中提交,领导者接收它们并分配给工作人员.每当提交任务时,工作进程都会收到通知.
我不确定我理解你的Leader选举算法,但推荐的实现方法是使用顺序短暂节点并使用http://zookeeper.apache.org/doc/r3.3.3/recipes.html#中的算法sc_leaderElection解释了如何避免"群体"效应.
任务的分配可以使用简单的分布式队列完成,并不严格需要领导者.生产者将任务排队并且消费者在任务节点上监视 - 触发的监视将引导消费者执行任务并删除关联的znode.从失败的消费者中重新排列任务需要考虑某些边缘条件.http://zookeeper.apache.org/doc/r3.3.3/recipes.html#sc_recipes_Queues
| 归档时间: |
|
| 查看次数: |
3861 次 |
| 最近记录: |