在Kubernetes集群中运行的camel应用程序中的幂等性

mccptt67  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(130)

我在微服务中使用apache camel作为集成框架。我在Kubernetes云中将其部署为多个pod。我编写了一个从一个目录阅读文件并写入另一个目录的路由。但我面临着一个问题,因为不同的pod选择同一个文件。我需要避免这种情况。我只想让任何一个pod来挑选文件和处理,但目前所有的pod都在挑选和处理文件。有人能帮这个忙吗?请推荐一些GitHub或其他网站上的例子。谢谢。

i34xakig

i34xakig1#

Camel最近引入了一些有趣的集群功能-请参见here
在您的特定情况下,您可以建立一个路由模型,该路由在启动目录轮询时占据主导地位,从而防止其他节点挑选(相同或其他)文件。
设置它非常简单,您所需要的只是根据master组件语法为singleton端点添加前缀:主控形状:命名空间:委托Uri
这将导致以下结果:

from("master:mycluster:file://...")
        .routeId("clustered-route")
        .log("Clustered file polling !");

相关问题