HUC王子 IP属地:重庆

文章 关注 粉丝 访问 贡献
 
共 19 篇文章
显示摘要每页显示  条
前提:rocketMq 主题topic 配置的消费队列数量一定的情况下讨论,这里设置为queueNum=4个消费队列 1.并发控流: 1.1 部署节点数量 nodeNum 1.2 每个节点消费端线程数量 threadNum 注释:一般情况最小线程和最大线程设置为一样,并且一般情况最大线程不会用到原因见线程池,触发线程次队列塞满才会启动新的线程, 1.3 每次pull的消息间隔时间 pu...
简单来说,RocketMQ会有一个针对当前Consumer Group的重试队列,如果你返回了RECONSUME_LATER,MQ会把你的这批消费放到当前消费组的重试队列中,然后过一段时间重试队列中的消息会再次发送给消费者,默认可以重试16次,每次重试的间隔是不同的,这个时间间隔是可以配置的,默认配置如下:当MQ接收到RECONSUME_LATER后,首先会完成消息的转换,...
RocketMQ消息丢失解决方案:同步刷盘+手动提交。之前我们一起了解了使用RocketMQ事务消息解决生产者发送消息时消息丢失的问题,但使用了事务消息后消息就一定不会丢失了吗,肯定是不能保证的。因为虽然我们解决了生产者发送消息时候的消息丢失问题,但也只是保证Broker正确的接收到了消息,实际上接收到的消息会保存在os cache中,如果此时brok...
当我们引入事务消息后,其实订单系统是不会先去执行CRUD的操作的,而是先发送一条half消息给MQ,这个half消息其实就是订单完成支付的消息,你可以理解为它的状态是half状态。上文中我们已经说到了RocketMQ的补偿机制,所以无论订单系统本身是要发送rollback消息还是commit消息,如果发送失败,MQ的补偿机制就会扫描这条half消息,一定时间之后...
RocketMQ的消息是怎么丢失的。接下来假设我们订单系统推送到MQ这一过程没有任何问题,消息成功到达了MQ中,此时订单系统会认为消息写入成功了,那么这时候消息就一定不会丢失了吗?假设我们的积分系统接收到了消息1,那么消息1就在积分系统的内存中,正要准备给用户发放积分。而默认情况下,消费者会自动提交已经消费的消息的offset,所以当积...
所以我们可以大致的认为,一个Topic中的多个MessageQueue会被均匀的分布给一个消费者组中的多台机器进行消费,这里要注意一点,一个MessageQueue只能被一台消费者机器消费,但是一台消费者机器可以同时负责处理多个MessageQueue。Push模式大体实现思路是这样的:当消费者发送请求到Broker拉取消息的时候,如果有新的消息可以消费,会立马返回消...
Dledger是如何实现主从自动切换的。使用Dledger技术替换CommitLog.首先我们要知道Dledger是个什么东西,实际上Dledger自己就有一套CommitLog机制,如果使用了它,它接到数据第一步就是写入自己的CommitLog。所以,引入Dledger技术,其实就是使用Dledger的CommitLog来替换掉Broker自己的CommitLog。Dledger是怎么选举Leader的。现在我们了解了Dl...
深入研究Broker是如何持久化的。另外,其实写入CommitLog日志时,并不是直接将数据写入到磁盘文件中的,而是先写入OS操作系统的PageCache中,然后由OS操作系统的后台线程选择时间,异步化的把PageCache中的数据同步到物理磁盘中的。其实同步刷盘就是跳过了PageCache这一步骤,当生产者发送消息给Broker后,Broker必须把数据存到真实的物理磁盘...
我们之前说过,存放消息之前,首先会从NameServer中拉取元数据,在元数据中生产者可以知道Topic有几个MessageQueue,每个MessageQueue存放在哪个Broker集群上。比如一共20条消息,4个MessageQueue,那么每个MessageQueue中就存放5条消息。今天我们主要聊了聊什么是MessageQueue,MessageQueue在RocketMQ中扮演什么角色,生产者是如何写消息到Me...
秒杀系统中的扣减库存和流量削峰。扣减库存的优化。其实我们可以在活动开始前,把要秒杀的商品库存存放到Redis集群中,然后扣减库存的时候只操作Redis集群,就可以大大降低数据库压力了。也就是说,当用户发送请求,经过Redis扣减库存的操作后发现库存数量还是大于0的,那么这个时候就可以把创建订单的操作发送消息给RocketMQ,然后我们平时使...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部