springboot消息之利用docker安装rabbitmq并测试三种模式

2020-08-26 15:36:28 浏览数 (1)

1、安装rabbitmq

还是利用之前安装好的docker进行安装。

sudo docker pull rabbitmq:3-management

sudo docker run --name rabbitmq01 -p 5672:5672 -p 15672:15672 -d rabbitmq:3-management

sudo docker ps -a

安装完成后在浏览器输入:虚拟机系统ip地址:15672即可访问到rabbitmq界面:输入默认账户:guest,密码:guest

2、建立交换器

选择exchanges, 选择Add a new exchange:

点击添加之后会看到:

3、添加消息队列

选择Queues,选择Add a new queue

只需要更改名字,其余默认即可。依次添加gong、gong.news、gong.emps、dema.news ,完成后可以看到:

4、将交换器和队列进行绑定

点击刚才我们创建好的交换器,例如选择exchange.direct:

找到bindings,然后进行设置:

依次将那四个队列进行绑定,名字和Routing Key都一致就行。完成之后可以看到

同理将exchange.fanout也绑定这四个队列。

对于exchange.topic,我们就需要指定了。

5、发送消息

点击Exchanges,选择exchange.direct交换器,找到Publish Message

发送即可。由于direct模式是完全匹配,所以只有Routing key=gong的队列收到消息:

点击gong进去看看,找到Get messages:

再来测试fanout模式:不管你指定的Routing key是什么,都会发送给所有队列:

最后来测试topic模式,其会根据匹配规则进行发送。

收到以gong开头的,或者以news结尾的,也就是所有队列都可以收到。假设我们发送的Routing key是hello.news,那么,只有gong.news和dema.news的队列收到消息。具体direct、fanout、topic之间的区别可以去看之前的博客。

0 人点赞