【发布时间】:2015-11-06 14:32:24
【问题描述】:
我正在尝试在进程间通信中获得与屏障相同的功能,但现在用于分布式节点。
我的问题是我在节点上有多个分布式进程。它们有一些不确定的设置,在设置之后我希望它们同时开始运行。
是否有一个简单的框架可以让我在 Scala 中做到这一点?
【问题讨论】:
-
正态分布的协调是通过 zookeeper 或 etcd 等服务完成的。例如,在 zookeeper 中,您可以为某些数据路径设置watch,这样一旦您向其写入“start”,所有节点都会收到通知并可以继续执行操作。但如果这种障碍是协调的唯一用途,我认为这将是过度设计,有人可能会提出替代的更简单的解决方案(例如广播)
-
如果您决定使用 ZooKeeper,那么我可以推荐 Apache Curator 的食谱 (curator.apache.org/curator-recipes/index.html)。他们为您面临的大多数问题提供了许多预先准备好的解决方案。例如,他们也有一个屏障配方。
-
@om-nom-nom,我不认为这是过度工程,通过简单的广播我不确定是否每个预期的接收器都准备好接收。 (虽然“广播”这个简单的术语相当重,所以我不确定你的意思。)
标签: scala distributed barrier