Kubernetes 带有群集客户端的AMQP(RabbitMQ)发布/订阅

Kubernetes 带有群集客户端的AMQP(RabbitMQ)发布/订阅,kubernetes,rabbitmq,messaging,amqp,Kubernetes,Rabbitmq,Messaging,Amqp,我们将要开发一个订阅AMQP通道的客户机,但是该客户机将是集群式的(在Kubernetes中),我们只希望其中一个集群式客户机处理订阅的消息 例如,如果我们有一个3的副本集,我们只希望有一个得到消息,而不是全部3个 在JMS 2.0中,这可以通过使用共享使用者实现: 1消息被发送到RabbitMQ通道1: 消费者1(有3个副本)AMQP就是为此而设计的。如果有三个客户机使用同一队列中的消息,RabbitMQ将循环传递消息给它们。您可能还对该功能感兴趣 注意:RabbitMQ团队监控Rabbit

我们将要开发一个订阅AMQP通道的客户机,但是该客户机将是集群式的(在Kubernetes中),我们只希望其中一个集群式客户机处理订阅的消息

例如,如果我们有一个3的副本集,我们只希望有一个得到消息,而不是全部3个

在JMS 2.0中,这可以通过使用共享使用者实现:

1消息被发送到RabbitMQ通道1:

消费者1(有3个副本)AMQP就是为此而设计的。如果有三个客户机使用同一队列中的消息,RabbitMQ将循环传递消息给它们。您可能还对该功能感兴趣



注意:RabbitMQ团队监控
RabbitMQ用户
,有时只回答有关StackOverflow的问题。

谢谢,Luke,AMQP是否考虑了多个具有副本集的使用者的场景:1消息发送到RabbitMQ通道1:使用者1(具有3个副本)---RabbitMQ通道1使用者2(有3个副本)--RabbitMQ通道1将只处理2条消息,并使用“图表”更新OP@Steve“1条消息发送到RabbitMQ通道1:”中的
通道
的确切含义是什么.Channel是传输层,您可以将消息发送到exchange或队列。@zerkms,您可以看出我不是Rabbit MQ人。我在主题和队列中使用了ActiveMQ classic。Rabbit MQ/AMQP端点来自第三方供应商。如果他们使用exchange,则会将消息发送给所有使用者,即使是副本se的一部分t?@Steve这取决于它们是如何配置的,它可能会交付给所有人,也可能只是一个人。@zerkms-对不起,你是在说消费者还是交易所?你看到了吗?
1 message is sent to RabbitMQ Channel 1:

Consumer 1 (with 3 replicas) <----- RabbitMQ Channel 1
Consumer 2 (with 3 replicas) <----- RabbitMQ Channel 1

Only 2 messages would be processed