
RabbitMQ
文章平均质量分 92
以实战为线索,逐步深入RabbitMQ开发各个环节
ls07
这个作者很懒,什么都没留下…
展开
-
【RabbitMQ】- 集群
最开始我们介绍了如何安装及运行 RabbitMQ 服务,不过这些是单机版的,无法满足目前真实应用的要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台 RabbitMQ 服务器可以满足每秒 1000 条消息的吞吐量,那么如果应用需要 RabbitMQ 服务满足每秒 10 万条消息的吞吐量呢?购买昂贵的服务器来增强单机 RabbitMQ 务的性能显得捉襟见肘,搭建一个 RabbitMQ 集群才是解决实际问题的关键。原创 2023-06-29 08:47:19 · 791 阅读 · 0 评论 -
【RabbitMQ】- 其他知识点
针对RabbitMQ的幂等性、优先级队列、惰性队列等其他知识点的补充说明。原创 2023-06-27 09:27:38 · 198 阅读 · 0 评论 -
【RabbitMQ】- 发布确认高级
在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢?特别是在这样比较极端的情况,RabbitMQ 集群不可用的时候,无法投递的消息该如何处理呢?原创 2023-06-25 09:17:27 · 220 阅读 · 0 评论 -
【RabbitMQ】- 延迟队列
延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列。原创 2023-06-24 08:43:49 · 3990 阅读 · 0 评论 -
【RabbitMQ】- 死信队列
死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。原创 2023-06-21 09:24:32 · 1111 阅读 · 0 评论 -
【RbbbitMQ】-交换机
RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是应该把这些消息放到特定队列还是说把他们到许多队列中还是说应该丢弃它们。这就的由交换机的类型来决定。原创 2023-06-20 09:38:14 · 160 阅读 · 0 评论 -
【RabbitMQ】- 发布确认
生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker 回传给生产者的确认消息中 delivery-tag 域包含了确认消息的序列号,此外 broker 也可以设置basic.ack原创 2023-06-19 09:46:30 · 127 阅读 · 0 评论 -
【RabbitMQ】- 工作队列(Work Queues)
工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。 相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进 程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。原创 2023-06-16 10:09:45 · 247 阅读 · 0 评论 -
【RabbitMQ】- 简单模式(Hello World)
在这一部分中,通过RabbitMQ简单模式的学习,用 Java 编写两个程序。发送单个消息的生产者和接收消息并打印出来的消费者。我们将介绍 Java API 中的一些细节。原创 2023-06-15 09:09:38 · 136 阅读 · 0 评论 -
【RabbitMQ】- 消息队列
MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。Broker:接收和分发消息的应用,RabbitMQ Server 就是 Message Broker。原创 2023-06-13 20:19:52 · 157 阅读 · 0 评论