RabbitMq
消息队列
下载地址
RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ
使用详情
RabbitMQ使用教程(超详细)-CSDN博客
实现延迟队列(为了实现订单15分钟后修改状态)
1 死信队列
当一个队列中的消息满足下列情况之一时,就会成为死信 (dead letter)消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false消息是一个过期消息(达到了队列或消息本身设置的过期时间),超时无人消费要投递的队列消息堆积满了,最早的消息可能成为死信
如果队列通过dead-letter-exchange属性指定了一个交换机,那么该队列中的死信就会投递到这个交换机中。这个交换机称为死信交换机 (Dead Letter Exchange,简称DLX)
2 利用插件
插件下载地址
rabbitmq/rabbitmq-delayed-message-exchange: Delayed Messaging for RabbitMQ (github.com)
案列
- 生产者
- 消费者
项目进度
实现了订单超时修改状态
这里面有一个坑 就是项目在运行是可能 不能马上收到 收到的是之前的消息 导致我没一运行发现 收到 比 发出去的时间还早 ,导致我一直认为自己没实现
订单管理界面
优化了 口味增加价格以及默认选中第一个(之前没有实现)
接下来想做 websocket 来实现接单等功能点