
Rabbit
文章平均质量分 93
Rabbit相关的内容
自东向西
这个作者很懒,什么都没留下…
展开
-
RabbitMQ知识整理
RabbitMq基础概念Producer:生产者,投递消息的一方Consumer:消费者,接收消息的一方Broker:消息中间件的服务节点,对于RabbitMq而言,一个Broker可以看作一个RabbitMq服务节点Queue:队列,RabbitMq的内部对象,用于存储消息。这一点与Kafka相反,Kafka将消息存储在topic这个逻辑层面,而对应的队列逻辑只是topic实际存储文件中的位移标识。 生产者生产消息最终投递到队列...原创 2021-12-29 18:24:19 · 2724 阅读 · 0 评论 -
RabbitMQ实战指南——存储机制总结
背景之前了解过kafka和rocketMq的数据存储机制,知道在他们的存储机制上,支持消息的回溯消费、顺序消费,消息积压。而rabbitMq是不支持刚提到的三种特性,那rabbitMq的数据又是怎样存储的呢?持久层持久层是一个逻辑上的概念,包含了两部分:rabbit_queue_index(队列索引)和rabbit_msg_store(消息存储)。rabbit_queue_indexrabbit_queue_index负责维护存储的消息的信息,包含了存储地址、是否已经交付给消费者、消费者是否已经a原创 2020-09-30 16:38:56 · 2855 阅读 · 5 评论 -
rabbitMq可靠消费方案
项目地址可靠mq项目:reliable-mq支持消息事务消息发送、幂等消费、顺序消费和可靠消费问题采用自动ack的方式,如果处理方法未抛出异常,则自动ack消息;如方法抛出异常,则消息会被重新放回队列。如果处理方法没有catch异常,当代码有bug时,则消息会被不断消费,但是又消费不成功,不停打印异常日志,甚至导致日志文件将硬盘撑爆。为了避免这种情况,大家可能会在消费mq的业务代码最外...原创 2020-01-02 19:48:26 · 965 阅读 · 0 评论 -
rabbitMq顺序消费方案
项目地址可靠mq项目:reliable-mq支持消息事务消息发送、幂等消费、顺序消费和可靠消费前提顺序消费,依赖消息id,使用reliable-mq的DatabaseRabbitMqProduceClient类发送mq消息,支持指定消息id,如果不指定,则会使用java的UUID自动生成一个。DatabaseRabbitMqProduceClient类实现了RabbitMqProduce...原创 2020-01-02 15:50:36 · 8889 阅读 · 10 评论 -
rabbitMq幂等消费方案
项目地址可靠mq项目:reliable-mq支持消息事务消息发送、幂等消费、顺序消费和可靠消费前提幂等消费,依赖消息id,使用reliable-mq的DatabaseRabbitMqProduceClient类发送mq消息,支持指定消息id,如果不指定,则会使用java的UUID自动生成一个。问题假设有这样一个场景:用户发布一篇文章,就得给用户加5积分。有文章管理和积分管理两个独立的...原创 2020-01-02 12:05:10 · 1671 阅读 · 4 评论 -
rabbitMq事务消息方案
项目地址可靠mq项目:reliable-mq支持消息可靠发送、幂等消费、顺序消费和可靠消费问题一般发送mq的场景为:本地修改业务数据,数据修改成功,调用RabbitTemplate.send方法发送mq消息。类似下面的伪代码:public class DemoService() { public Demo doSomething() { // 1、在一个事务中完成数据库数据的变更...原创 2019-12-30 22:03:29 · 1752 阅读 · 1 评论 -
@RabbitListener起作用的原理
一、前言在spring中,定义rabbitMq的消费者可以相当方便,只需要在消息处理类或者类方法加上@RabbitListener注解,指定队列名称即可。如下代码:@Componentpublic class RabbitMqListener1 { @RabbitListener(queues = "queue1") public void consumer1(Message...原创 2019-09-08 15:20:34 · 22105 阅读 · 4 评论