rabbitmq小白,rabbitmq为什么要指定exchange,发送端指定队列直接发送消息,消费端也能获取啊

rabbitmq小白,rabbitmq为什么要指定exchange,发送端指定队列直接发送消息,消费端也能获取啊

问题描述:

rabbitmq为什么要指定exchange,发送端指定队列直接发送消息,消费端也能获取啊,感觉不需要指定exchange啊

AMQP协议中的核心思想就是生产者和消费者隔离,生产者从不直接将消息发送给队列。生产者通常不知道是否一个消息会被发送到队列中,只是将消息发送到一个交换机。先由Exchange来接收,然后Exchange按照特定的策略转发到Queue进行存储。同理,消费者也是如此。Exchange 就类似于一个交换机,转发各个消息分发到相应的队列中。

消息发送到队列是有很多种需求的,有的点对点直接发送到某个队列,有的是发给若干个模式匹配的队列,还有的是群发,如果这些直接让发送者去做处理,是不是很麻烦,耦合很深呢?交换机就是解耦的,你只管把消息交给交换机,对交换机做简单的配置处理就行了