RabbitMQ开整

一、安装及配置

下载镜像

docker pull rabbitmq:management

创建容器

docker run -di --name=changgou_rabbitmq -p 5671:5617 -p 5672:5672 -p4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management

解释如下:
15672 (if management plugin is enabled.管理界面 )

15671 management监听端口

5672, 5671 (AMQP 0-9-1 without and with TLS 消息队列协议是一个消息协议)

4369 (epmd) epmd 代表 Erlang 端口映射守护进程

25672 (Erlang distribution)

访问后台

浏览器中输入地址http://192.168.200.128:15672/

设置容器开机自动启动

docker update --restart=always 容器ID

输入用户名guest密码guest 

一、新建用户

 1.1

1.2设置虚拟机

给用户fefei设置虚拟机

换帐号feifei登录

 

官方7种模式文档地址

https://www.rabbitmq.com/getstarted.html

二.消息队列设置存活时间TTL

三.死信队列

消息成为死信的三种情况:

  1. 队列消息长度到达限制;

  2. 消费者拒接消息(basicNack),并且不把消息重新放回源队列,requeue=false;

  3. 源队列存在消息过期设置,消息到达超时时间未被消费;

实现过程

1.创建死信队列

2.创建死信交换机

3.死信队列绑定死信交换机,路由键为order.dead

4.因为之前创建过order.B队列,删掉重新创建,之后绑定死信交换机

5.因为之前有交换机order路由到队列order.B。

直接向消息队列order.B中发送消息【消息队列order.B中的消息失效时间为5秒】

6.等5秒,发给orer.B的消息,都跑到了死信队列里

四、延迟队列

什么是延迟队列?即消息进入队列后不会立即被消费,只有到达指定时间后,才会被消费。

需求场景:

  1. 下单后,30分钟未支付,取消订单,回滚车票。

  2. 新用户注册成功7天后,发送短信问好。

在rabbitMq中通过消费死信队列实现。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值