第 31 章 Master
仅支持消费者
Camel-Master 端点提供了一种方式,可确保集群中只有单一使用者消耗来自给定端点;如果 JVM 出现问题,自动故障转移。
如果您需要与一些传统后端使用,而不需要支持并发消耗的旧后端,或者由于在任何时间点上可以有商业或稳定性的原因,这非常有用。
31.1. 使用 master 端点
仅用 master:someName: 为任何 camel 端点添加前缀,其中 someName 是一个逻辑名称,用于获取 master 锁定。例如。
from("master:cheese:jms:foo").to("activemq:wine");
在本例中,主组件可确保集群中任何给定时间仅在一个节点中激活路由。因此,如果集群中有 8 个节点,则 master 组件会选择一个路由为领导,并且只有此路由处于活跃状态,因此只有此路由将使用来自 jms:foo
的消息。如果此路由已被停止或意外终止,则主组件将检测到此组件,并且重新选择另一个节点处于活动状态,然后变为活动状态,然后启动来自 jms:foo
的消息。
注意
Apache ActiveMQ 5.x 具有这样的功能,称为 Exclusive Consumers。