随笔分类 - rabbitmq
摘要:Linux安装RabbitMq和Erlang-搭建集群 Rabbitmq rpm包 下载地址:https://github.com/rabbitmq/rabbitmq-server/releases Erlang rpm包 下载地址:https://github.com/rabbitmq/erlan
阅读全文
摘要:RabbitMq队列优先级 使用场景 在我们系统中有一个订单催付的场景,我们的客户在天猫下的订单,淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒,很简单的一个功能对吧,但是,tmall商家对我们来说,肯定是要分大客户和小客户的对吧,比如像苹果,小米这样大商家一
阅读全文
摘要:RabbitMq发布确认高级 在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢? 特别是在这样比较极端的情况,RabbitMQ 集群不可
阅读全文
摘要:RabbitMq延迟队列 延迟队列概念 延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列。 延迟队列使用场景 订单在三十分钟之内未支付则自动取消。 用户注册成功后,
阅读全文
摘要:RabbitMq死信队列 代码中获取信道可参考 https://www.cnblogs.com/zjh0420/p/16891557.html 死信的概念 死信:顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到queue 里了,c
阅读全文
摘要:RabbitMq交换机 代码中获取信道可参考 https://www.cnblogs.com/zjh0420/p/16891557.html Exchanges Exchange 概念 RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道
阅读全文
摘要:RabbitMq发布确认 代码中获取信道可参考 https://www.cnblogs.com/zjh0420/p/16891557.html 发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1
阅读全文
摘要:RabbitMq消息手动应答,放回队列重新消费,设置队列消息持久化 消息应答 概念 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并仅只完成了部分突然它挂掉了,会发生什么情况。RabbitMQ 一旦向消费者传递了一条消息,便立即将该消息标记为删除。在这种情况下,突然有个消费者
阅读全文
摘要:RabbitMq工作模式 工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。 在这个案例中我们会启动两
阅读全文
摘要:RabbitMq简单模式 定义一个生产者,负责发送消息到队列中 /** * @author zjh * 生产者发信息 */ public class Producer { /** * 队列名称 */ public static final String QUEUE_NAME = "hello"; /
阅读全文
摘要:RabbitMq简介 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,由于erlang 语言的高并发特性,性能较好,本质是个队列,FIFO 先入先出,里面存放的内容是message RabbitMQ 是一个消息中间件:
阅读全文