消息中间件RabbitMQ转发策略详解

上次介绍了消息中间键的基本概念和原理,本篇将介绍RabbitMQ的基本使用。本篇将介绍交换器的三种常见的转发策略,即direct、fanout和topic。如下图所示,有三个不同转发策略的交换器,以及4个消息队列。
消息中间件RabbitMQ转发策略详解_第1张图片
这里首先添加三个交换器。
消息中间件RabbitMQ转发策略详解_第2张图片
接着,添加消息队列。
消息中间件RabbitMQ转发策略详解_第3张图片
为交换器绑定队列,点击exchange.direct -> bindings -> to queue -> 前两种转发策略绑定四个消息队列,路由键设置为消息队列名。topic的绑定如下图所示。
消息中间件RabbitMQ转发策略详解_第4张图片
这里先以exchange.topic交换器为例,测试发送消息给交换器。
消息中间件RabbitMQ转发策略详解_第5张图片
点击Publish message发送之后,可以在Queues选项卡栏目中看到myrabbit、myrabbit.emps、myrabbit.news都收到了消息。
消息中间件RabbitMQ转发策略详解_第6张图片
再进入myrabbit队列,点击getmessages,查看消息的内容。
消息中间件RabbitMQ转发策略详解_第7张图片
再看exchange.fanout交换器
消息中间件RabbitMQ转发策略详解_第8张图片
此时,可以看到,每个消息队列中都多了一条数据。
消息中间件RabbitMQ转发策略详解_第9张图片
而对于exchange.direct交换器而言,只有在路由键和队列名称完全匹配时,才会转发到该队列。例如,我们设置路由键为hisrabbit.news
消息中间件RabbitMQ转发策略详解_第10张图片
此时,可以看到,hisrabbit.news队列中多了一条消息。
消息中间件RabbitMQ转发策略详解_第11张图片
这里,需要注意在接收消息时,可以设置接收模式为Ack,则每次接收到消息后,消息将从消息队列中删除。
在这里插入图片描述

你可能感兴趣的:(SpringBoot)