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
RabbitMQ
未读
0x09【RabbitMQ】Return 消息机制
1、简介 Return Listener用于处理一些不可路由的消息; 我们的消息生产者,通过指定一个Exchange和RoutingKey,把消息送达到某一个队列中去,然后我们的消费者监听队列,进行消费处理。 但是在某些情况下,如果我们在发送消息的时候,当前的exchange不存在或者指定的路由ke
RabbitMQ
未读
0x08【RabbitMQ】Confirm 确认消息
理解Confirm消息确认机制 消息的确认,是指生产者投递消息后,如果Broker收到消息,则会给生产者一个应答。 生产者进行接收应答,用来确定这条消息是否正常的发送到Broker,这种方式也是消息的可靠性投递的核心保障。 确认机制流程图
RabbitMQ
未读
0x00 RabbitMQ基础
一、主流消息中间件介绍 1、ActiveMQ ActiveMQ是Apache出品,最流行的能力强劲的开源消息总线,并且它是一个完全支持JMS规范的消息中间件。 其丰富的API、多种集群构建模式使得它成为业界老牌消息中间件,在中小型企业中应用广泛! MQ衡量指标:服务性能、数据存储、集群架构 架构模式
RabbitMQ
未读
0x07【RabbitMQ】TTL队列、TTL消息
1、TTL TTL是Time To Live的缩写,也就是生存时间; RabbitMQ支持消息的过期时间,在消息发送时可以进行指定; RabbitMQ支持队列的过期时间,从消息入队列开始计算,只要超过了队列的超时时间配置,那么消息就会自动删除。 2、TTL分类 队列级别的设置:所有到队列中的消息都是