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