RabbitMQ
文章平均质量分 95
沉着的码农
一个沉着的码农
展开
-
【Java】从0实现一个消息队列中间件
曾经我们学习过阻塞队列(BlockingQueue),我们说,阻塞队列最⼤的⽤途,就是⽤来实现⽣产者消费者模型.⽣产者消费者模型,存在诸多好处,是后端开发的常⽤编程⽅式.在实际的后端开发中,尤其是分布式系统⾥,跨主机之间使⽤⽣产者消费者模型,也是⾮常普遍的需求.因此,我们通常会把阻塞队列,封装成⼀个独⽴的服务器程序,并且赋予其更丰富的功能.这样的程序我们就称为消息队列(MessageQueue,MQ)市⾯上成熟的消息队列⾮常多.其中,RabbitMQ是⼀个⾮常知名,功能强⼤,⼴泛使⽤的消息队列.咱们就仿照R原创 2024-04-25 11:06:48 · 1000 阅读 · 1 评论 -
【RabbitMQ】RabbitMQ详解(二)
先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到queue 里了,consumer 从 queue 取出消息 进行消费,但某些时候由于特定的原因导致 queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。上文中提到的问题,确实是一个问题,如果不能实现在消息粒度上的 TTL,并使其在设置的 TTL 时间及时死亡,就无法设计成一个通用的延时队列。原创 2023-12-23 23:43:41 · 1204 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ详解(一)
RabbitMQ是一种开源的消息中间件软件,它实现了高度可靠的消息传递机制。它基于AMQP(Advanced Message Queuing Protocol)协议,可以在分布式系统中传递、存储和接收消息。RabbitMQ提供了一个可靠的消息队列系统,用于在应用程序之间进行异步通信。它的主要特点包括:消息队列:消息发送者将消息发布到队列中,然后接收者从队列中获取消息进行处理。可靠性:RabbitMQ使用持久化消息以确保消息不会丢失,并提供了消息确认机制来确保消息被正确接收。原创 2023-12-23 01:10:05 · 2550 阅读 · 0 评论