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