我在微服务中使用apache camel作为集成框架。我在Kubernetes云中将其部署为多个pod。我编写了一个从一个目录阅读文件并写入另一个目录的路由。但我面临着一个问题,因为不同的pod选择同一个文件。我需要避免这种情况。我只想让任何一个pod来挑选文件和处理,但目前所有的pod都在挑选和处理文件。有人能帮这个忙吗?请推荐一些GitHub或其他网站上的例子。谢谢。
我在微服务中使用apache camel作为集成框架。我在Kubernetes云中将其部署为多个pod。我编写了一个从一个目录阅读文件并写入另一个目录的路由。但我面临着一个问题,因为不同的pod选择同一个文件。我需要避免这种情况。我只想让任何一个pod来挑选文件和处理,但目前所有的pod都在挑选和处理文件。有人能帮这个忙吗?请推荐一些GitHub或其他网站上的例子。谢谢。
1条答案
按热度按时间i34xakig1#
Camel最近引入了一些有趣的集群功能-请参见here。
在您的特定情况下,您可以建立一个路由模型,该路由在启动目录轮询时占据主导地位,从而防止其他节点挑选(相同或其他)文件。
设置它非常简单,您所需要的只是根据master组件语法为singleton端点添加前缀:主控形状:命名空间:委托Uri
这将导致以下结果: