NMS.ActiveMQ 独占消费者
独占消费者
我们在 4.x 及更高版本中添加了一个名为独占消费者或独占队列的新功能,它避免了最终用户需要固定任何内容。代理将选择一个单独的 MessageConsumer 来获取队列中的所有消息以确保排序。如果该消费者出现故障,代理将自动故障转移并选择另一个消费者。
因此,其效果是异构集群,其中每个客户端都具有相同的设置和配置;代理会选择一个消费者作为主消费者,并将所有消息按顺序发送给它,直到它死亡;然后你将立即故障转移到另一个消费者。
对于那些在集群中苦苦挣扎于固定 NMS 消费者的用户来说,您会立即意识到这对构建集群化、高可用性分布式服务非常有用。
示例
独占消费者是使用 ActiveMQ URI 配置 创建的,如下所示
var queue = session.GetQueue("TEST.QUEUE?consumer.exclusive=true");
var consumer = session.CreateConsumer(queue);