RabbitMQ same message to each consumer

前端 未结 2 1148
灰色年华
灰色年华 2021-01-02 22:14

I have implemented the example from the RabbitMQ website: RabbitMQ Example

I have expanded it to have an application with a button to send a message. Now I started t

相关标签:
2条回答
  • 2021-01-02 22:49

    you can't it's controlled by the server check Round-robin dispatching section

    It decides which consumer turn is. i'm not sure if there is a set of algorithms you can pick from, but at the end server will control this (i think round robin algorithm is default)

    unless you want to use routing keys and exchanges

    0 讨论(0)
  • 2021-01-02 23:06

    Why is this

    As noted by Yazan, messages are consumed from a single queue in a round-robin manner. The behavior your are seeing is by design, making it easy to scale up the number of consumers for a given queue.

    how can I change the behavior to send each message to each consumer?

    To have each consumer receive the same message, you need to create a queue for each consumer and deliver the same message to each queue.

    The easiest way to do this is to use a fanout exchange. This will send every message to every queue that is bound to the exchange, completely ignoring the routing key.

    If you need more control over the routing, you can use a topic or direct exchange and manage the routing keys.

    Whatever type of exchange you choose, though, you will need to have a queue per consumer and have each message routed to each queue.

    0 讨论(0)
提交回复
热议问题