RabbitMQ
未读
0x33【RabbitMQ】消费端自定义监听
1、介绍 我们一般就是在代码中编写while循环,调用consumer.nextDelivery方法获取下一条信息,然后进行消费处理。 但是我们实际使用自定义的Consumer更加的方便,解耦性更加的强,也是实际工作中最常用的工作方式。 2、代码编写 自定义消费者 import com.rabbit
RabbitMQ
未读
0x32【RabbitMQ】整合Spring AMQP实战
RabbitAdmin SpringAMQP 声明 RabbitTemplate SimpleMessageListenerContainer MessageListenerAdapter MessageConverter RabbitAdmin RabbitAdmin类可以很好的操作RabbitM
RabbitMQ
未读
0x31【RabbitMQ】消息生产和消费
1、简介 ConnectionFactory:获取连接工厂 Connection:一个连接 Channel:数据通信信道,可发送和接受消息 Queue:具体的消息存储队列 Producer & Consumer:生产者和消费者 2、示例代码 生产者 public class Producter {
RabbitMQ
未读
0x30 【RabbitMQ】一些小问题的解答
先有消费者还是先有生产者? 在RabbitMQ中,没有严格的顺序要求。你可以先启动生产者来发送消息,也可以先启动消费者来等待消息。但是,为了消息能够成功发送和接收,必须确保交换机和队列已经被正确声明,并且绑定关系(Bindings)已经设置好。 生产者有了,但是交换机的配置没有怎么办?
RabbitMQ
未读
0x24【RabbitMQ】SpringBoot是如何管理RabbitMQ中的Channel?
Channel是什么 RabbitMQ是AMQP0-9-1协议的实现,先来看看AMQP0-9-1协议中对通道Channel的阐述。 有些应用程序需要与broker建立多个连接。但是,保持多个TCP连接同时打开是不可取的,因为这样做会消耗系统资源,使配置防火墙更加困难。AMQP0-9-1的Connec
RabbitMQ
未读
0x23【RabbitMQ】消费端限流
1、什么是消费端限流? 假设一个场景,首先,我们RabbitMQ服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面的情况: 巨量信息瞬间全部推送过来,但是我们的单个客户端无法同时处理这么多数据! 可能就会导致消费端服务崩溃等一系列问题。 RabbitMQ提供了一种qos(服务质量保
RabbitMQ
未读
0x22【RabbitMQ】消费端ACK与重回队列
1、消费端的手工ACK和NACK 消费端进行消费的时候,如果由于业务异常我们可以进行日志的记录,然后进行补偿。 如果由于服务器宕机等严重问题,那我们就需要手工ACK保证消费端消费成功! 2、消费端的重回队列 消费端重回队列是为了解决没有处理成功的消息,把消息重新传递给Broker! 一般我们在实际应
RabbitMQ
未读
0x21【RabbitMQ】幂等性
1、幂等性是什么? 我们可以借鉴数据库的乐观锁机制; 比如我们执行一条更新库存的SQL语句 UPDATE T_DEPS SET COUNT= COUNT-1 ,VERSION = VERSION+1 WHERE VERSION = 1; 每次更新时都进行版本的+1操作,这样别的操作再来对上一个版本的
RabbitMQ
未读
0x20【RabbitMQ】如何保证消息100%投递成功?
1、什么是生产端的可靠性投递? 保证消息的成功发出 保障MQ节点的成功接收 发送端收到MQ节点(Broker)确认应答 完善的消息进行补偿机制 2、BAT/TMD互联网大厂的解决方案 方案一:消息落库,对消息状态进行打标 方案二:消息的延迟投递,做二次确认,回调检查 </
RabbitMQ
未读
0x11 【RabbitMQ】RabbitMQ中的用户角色
角色说明 用户角色分为6类,超级管理员,监控者,策略制定者,普通管理者,模仿者,以及其他。 超级管理员 (Administrator) 可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。 监控者 (Monitoring
RabbitMQ
未读
0x09【RabbitMQ】Return 消息机制
1、简介 Return Listener用于处理一些不可路由的消息; 我们的消息生产者,通过指定一个Exchange和RoutingKey,把消息送达到某一个队列中去,然后我们的消费者监听队列,进行消费处理。 但是在某些情况下,如果我们在发送消息的时候,当前的exchange不存在或者指定的路由ke