centos7虚拟机安装rabbitmq反应慢 rabbitmq延迟队列原理?

rabbitmq延迟队列原理?延迟队列最重要的特征是它的延迟特性。队列内部是有序的,延迟队列中的消息预计在指定时间之前或之后。1.如果用户下单,十分钟内没有付款,订单会自动取消。2.如果十天内没有商品

rabbitmq延迟队列原理?

延迟队列最重要的特征是它的延迟特性。队列内部是有序的,延迟队列中的消息预计在指定时间之前或之后。

1.如果用户下单,十分钟内没有付款,订单会自动取消。

2.如果十天内没有商品上架,发消息提醒新创建的店铺。

3.如果用户注册账号成功后半个月没有登录,会发送消息提醒。

4.用户发起退款,三天内未处理,会发消息通知相关运营商处理。

5.预定会议结束后,需要在预定时间前十分钟通知所有与会者参加。

以上场景都有一个特点,就是一个任务需要在某个时间之前或之后完成,比如订单产生的时间,十分钟后需要查看订单的支付状态。如果订单尚未支付,则需要关闭订单。理论上,我们总是通过一个预定的任务轮询数据,每秒检查一次,十分钟后取出所有未支付的订单,然后关闭。如果数据量很小,使用定时任务确实是个不错的选择。但是,如果数据量比较大呢?轮询大量数据对数据库压力很大,实时性不好(轮询大量数据需要时间),无法满足业务需求,性能较低。在这种情况下,我们可以使用RabbitMQ 延迟队列。

rabbitmq优势?

优点:支持集群,高可用的部署架构,高可靠的消息支持。

复杂系统的解耦;

复杂链接的异步调用

瞬时峰值的削峰。

这里要提一下Rock

rabbitmq比较好的书籍?

Rabbitmq中文名消息队列

描述AMQP协议实现的书RabbitMQ "很好理解。前两章可以让一个没有AMQP和RabbitMQ基础的人了解常用的概念、组件、消息队列流程等。,并且在描述概念时给出的例子也是合适的(比如在描述交换的主题类型时使用的邮件分类的例子)。

在谈论概念和列举例子时,我们经常可以看到作者 并告诉读者相关元素的适用场景和范围。P.S .这是我认为国内很多技术书(尤其是罗刚)所欠缺的。