
RabbitMQ
文章平均质量分 74
关于Rabbitmq方面学习的内容笔记
李嘉图呀李嘉图
觉得内容对你有帮助的话就点点关注吧
展开
-
RabbitMQ的高级特性--TTL、死信队列、延迟队列
1.TTL机制 1.1 实现方案 目前的电商业务中订单创建成功,等待支付一般都会给一定的时间,开始倒计时。如果在这段时间内用户没有支付,则默认订单取消。如何实现这个功能? 定时轮询(数据库等) 用户下单成功,将订单数据放入数据库,同时将支付状态放入数据库,用户付款更改数据库状态。定期轮询数据库支付状态,如果超过30分钟就将该订单取消。 优点:设计实现简单 ...原创 2022-02-04 09:38:48 · 2572 阅读 · 0 评论 -
RabbitMQ的高级特性--如何保证消息可靠性
1.rabbitMQ临时队列 1.首先,我们无论何时连接RabbitMQ的时候,都需要一个新的,空的队列。我们可以使用随机的名 字创建队列,也可以让服务器帮我们生成随机的消息队列名字。 其次,一旦我们断开到消费者的连接,该队列应该自动删除。 2.创建临时队列方式如下:String queue = channel.queueDeclare().getQueue();上述代码我们声明了一个非持久化的、排他的、自动删除的队列,并且名字是服务器随机生成的...原创 2022-02-02 21:57:07 · 4207 阅读 · 2 评论 -
RabbitMQ的基本架构与实现原理
RabbitMQ整体逻辑架构1.RabbitMQ Exchange类型常用的交换器类型分为:Direct、Topic、Fanout、Header 四种。Fanoutfanout类型的交换器会把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中,如图:Directdirect类型的交换器会把发送到该交换器的消息路由到BindingKey 与 RoutingKey完全匹配的队列中,如图:Topictopic类型的交换器在direct的匹配规则上进行了拓展,...原创 2021-12-16 23:45:00 · 3096 阅读 · 1 评论 -
RabbitMQ中消息确认机制
概要:RabbitMQ中间件的引入对于整个系统来说是一把双刃剑,在对系统进行解耦的同时也降低了消息的可靠性,但是对于某些系统来说我们又必须保证我们的消息是不会丢失的,因此rabbitmq给提供了以下一些功能来保证消息的可靠性,本文我们主要讲解消息可靠性中的 发送端确认机制以及 消费端确认机制发送端确认机制RabbitMQ引入了一种轻量量级的方式,叫发送方确认(publisher confirm)机制。生产者将信道设置成confirm(确认)模式,一旦信道进入confirm 模式...原创 2022-01-27 17:32:53 · 4826 阅读 · 1 评论 -
RabbitMQ的常用命令
#查看rabbitmq的所有命令rabbitmqctl --help# 前台启动Erlang VM和RabbitMQ: rabbitmq-server # 后台启动: rabbitmq-server -detached # 停止RabbitMQ和Erlang VM: rabbitmqctl stop # 查看所有队列: rabbitmqctl list_queues # 查看所有虚拟主机: rabbitmqctl list_vhosts # 在Erla...原创 2022-01-13 10:33:04 · 1353 阅读 · 1 评论