我有一个Tibco EMS主题订阅者,我需要在不同实例之间进行负载平衡。每个用户负载均衡组的一个(且仅一个)实例需要接收每条已发布的主题消息。
仅使用全局主题和平衡的EMS连接(tcp://localhost:7222|tcp://localhost:7224
)会导致每个订阅者负载平衡组的所有实例收到相同的消息,从而产生重复项。
您是否知道负载均衡主题订阅者的替代方案?
答案 0 :(得分:1)
你可以:
A)将主题桥接到队列并重新配置您的订阅者以从队列中读取。队列的行为与主题不同,因为消息只能由一个订户而不是所有订户获得。
B)在主题上创建一些持久订阅者,其中选择器在耐用品之间划分消息。例如。如果邮件的属性“id”按顺序增加:
create durable topic DURABLENAME1 selector="(id - 2 * (id / 2)) = 0"
create durable topic DURABLENAME2 selector="(id - 2 * (id / 2)) = 1"
选择器只是一个模数,因此一半的消息将持续一个持久,另一半消息传递给另一个。
答案 1 :(得分:1)
使用EMS 8.0添加新概念共享订阅,这些只有一个订阅接收具有相同订阅名称的消息,请通过EMS用户指南文档来帮助您。
答案 2 :(得分:1)
虽然之前的两个答案都是有效的,但最自然的方法是根本不使用主题。
使用队列代替pf主题完成整个工作(以循环方式进行负载均衡)。