随笔分类 -  RabbitMQ

摘要:10.1. clustering 10.1.1. 使用集群的原因 最开始我们介绍了如何安装及运行 RabbitMQ 服务,不过这些是单机版的,无法满足目前真实应用的 要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台 RabbitMQ 服务器可以满足每秒 1 阅读全文
posted @ 2022-05-14 16:14 狂热搬砖家 阅读(66) 评论(0) 推荐(0) 编辑
摘要:9.1. 幂等性 9.1.1.概念 用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常, 此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询 阅读全文
posted @ 2022-05-14 16:00 狂热搬砖家 阅读(28) 评论(0) 推荐(0) 编辑
摘要:在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败, 导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢? 特别是在这样比较极端的情况,RabbitMQ 集群不可用的时候,无法投递的消息该如 阅读全文
posted @ 2022-05-14 15:51 狂热搬砖家 阅读(39) 评论(0) 推荐(0) 编辑
摘要:7.1. 延迟队列概念 延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望 在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的 元素的队列。 7.2. 延迟队列使用场景 1.订单在十分钟之内未支付则自动取消 2.新创建的店铺, 阅读全文
posted @ 2022-05-14 15:14 狂热搬砖家 阅读(53) 评论(0) 推荐(0) 编辑
摘要:6.1. 死信的概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理 解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息 进行消费,但某些时候由于特定的原因导致 queue 中的某 阅读全文
posted @ 2022-05-14 15:07 狂热搬砖家 阅读(16) 评论(0) 推荐(0) 编辑
摘要:在上一节中,我们创建了一个工作队列。我们假设的是工作队列背后,每个任务都恰好交付给一个消 费者(工作进程)。在这一部分中,我们将做一些完全不同的事情-我们将消息传达给多个消费者。这种模式 称为 ”发布/订阅”. 为了说明这种模式,我们将构建一个简单的日志系统。它将由两个程序组成:第一个程序将发出日志 阅读全文
posted @ 2022-05-14 14:17 狂热搬砖家 阅读(18) 评论(0) 推荐(0) 编辑
摘要:4.1. 发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的 消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已 阅读全文
posted @ 2022-05-14 13:56 狂热搬砖家 阅读(29) 评论(0) 推荐(0) 编辑
摘要:工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。 相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进 程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。 3.1. 轮训分发消息 在这个案例中我们会启动 阅读全文
posted @ 2022-05-14 11:23 狂热搬砖家 阅读(26) 评论(0) 推荐(0) 编辑
摘要:在本教程的这一部分中,我们将用 Java 编写两个程序。发送单个消息的生产者和接收消息并打印 出来的消费者。我们将介绍 Java API 中的一些细节。 在下图中,“ P”是我们的生产者,“ C”是我们的消费者。中间的框是一个队列-RabbitMQ 代 表使用者保留的消息缓冲区 2.1. 依赖 <! 阅读全文
posted @ 2022-05-14 11:17 狂热搬砖家 阅读(8) 评论(0) 推荐(0) 编辑
摘要:1.1. MQ 的相关概念 1.1.1.什么是 MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游“逻辑解耦+物理解耦 阅读全文
posted @ 2022-05-14 11:09 狂热搬砖家 阅读(28) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示