首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多个应用程序实例之间进行协调?

如何在多个应用程序实例之间进行协调?
EN

Stack Overflow用户
提问于 2018-02-13 03:59:06
回答 1查看 362关注 0票数 0

在决定在这个场景中我可以使用什么框架时,需要帮助。我正在探索动物园管理员,但不完全确定如何解决这一问题。

背景:

  1. 假设有应用程序连接到流源(Kafka或Activemq等),并将处理过的消息从流写入文件。
  2. 部署此应用程序时,4个instances.Each实例正在处理最后1小时内处理的消息和写入文件。
  3. 每个实例都会创建一个文件,该文件存储其处理了1小时的消息。示例-filename是从8-9处理的消息的servername_8.00。
  4. 如果每个实例在该窗口中创建了一个文件,则需要传输所有最后一个小时创建的文件,并且只发送一个统一文件,其中列出所有4个文件名和记录数量。

我要找的是

  1. 如何确保应用程序实例知道是否其他实例也创建了文件,如果创建的每个实例只应该传输文件2。无论发送什么实例,统一文件都应该知道所传输的内容。

我可以用什么框架来解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-02-13 17:52:13

您绝对可以使用ZooKeeper进行此操作。我也会使用Apache策展人(注意:我是馆长的主要作者)。

所有实例是否共享一个文件服务器?也就是说,每个实例都能看到所有创建的文件吗?如果是这样的话,你可以使用动物园管理员/策展人来提名一位领导者,并且只有领导才能完成所有的工作。您可以在这里看到领导人选举代码示例:https://github.com/apache/curator/tree/master/curator-examples/src/main/java/leader

如果实例不共享文件服务器,则仍然可以使用ZooKeeper来协调共享文件的写入。您将再次指定一位领导者,他公开了所有实例都可以写入的某种API,并创建共享文件。

您可能还会发现策展人的屏障菜谱很有用:http://curator.apache.org/curator-recipes/double-barrier.htmlhttp://curator.apache.org/curator-recipes/barrier.html

如果您想要更详细的设计,就必须提供更多关于用例的详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48759207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档