一般说到rabbitMQ,强调3个概念:生产者(producer)/消费者(consumer )/队列(queue )
实则还要知道的概念有交换机制(exchange)/routingKey(路由关键字)
5者之间的关系时:(以exchange type:direct为例)
- 生产者发布消息到指定交换机,并指定routingKey
- 消费者决定从哪个交换机接受消息,并绑定交换机-队列-routingKey,最后将消费者绑定队列(一个队列可以有多个routingKey)
流程图如下:
由此可以知道,生产者和队列之间没有直接联系,routingKey是消息分配队列的关键
exchange类型包括:direct(路由分类), topic(主题分类), headers 和 fanout(广播分发)