排序
41.RocketMQ之高频面试题大全
消息重复消费 影响消息正常发送和消费的重要原因是网络的不确定性。 引起重复消费的原因 ACK 正常情况下在consumer真正消费完消息后应该发送ack,通知broker该消息已正常消费,从queue中剔除。...
40.RocketMQ之高频面试题大全
消息中间件如何选型 RabbitMQ erlang开发,对消息堆积的支持并不好,当大量消息积压的时候,会导致 RabbitMQ 的性能急剧下降。每秒钟可以处理几万到十几万条消息。 RocketMQ java开发,面向互联...
消息队列黄金三剑客:RabbitMQ、RocketMQ和Kafka全面对决,谁是最佳选择?
1、应用场景 1.RabbitMQ: 适用于易用性和灵活性要求较高的场景 异步任务处理:RabbitMQ提供可靠的消息传递机制,适用于处理异步任务,例如将耗时的任务放入消息队列中,然后由消费者异步处理,...
39.Dledger是如何实现主从自动切换的
本文摘自: Dledger是如何实现主从自动切换的 前言 Broker的主从切换是可以基于Dledger实现自动切换的,那么小伙伴们是不是很好奇它究竟是如何实现的呢?今天我们就来聊一聊这个话题。 首先我们...
38.RocketMQ之Broker的主从架构
本文摘自:Broker的主从架构是怎么实现的 Master Broker与Slave Broker之间的消息同步 Broker是RocketMQ的核心模块,负责接收并存储消息,为了保证整个MQ的高可用,一般情况都会将Broker部署成集...
37.RocketMQ之Broker消息存储源码分析
消息存储文件 rocketMQ的消息持久化在我们在搭建集群时都特意指定的文件存储路径,进入指定的store目录下就可以看到。 下面介绍各文件含义 CommitLog 存储消息的元数据。produce发出的所有消息都...
35.RocketMQ之Broker如何实现磁盘文件高性能读写
Broker读写磁盘文件的核心技术:mmap Broker中大量的使用mmap技术去实现CommitLog这种大磁盘文件的高性能读写优化的。 通过之前的学习,我们知道了一点,就是Broker对磁盘文件的写入主要是借助直...
34.RocketMQ之Broker端消息存储文件详解
Broker端文件详解 dubbo的核心是spi,看懂了spi那么dubbo基本上也懂了。对于rmq来说,它的核心是broker,而broker的核心是commitlog、consumequeue、indexfile,而这些文件对应的最终都是Mapped...
34.RocketMQ之Broker端消息存储流程详解
Broker消息存储概要设计 RocketMQ主要存储的文件包括Commitlog文件,ConsumeQueue文件,IndexFile文件。 RMQ把所有主题的消息存储在同一个文件中,确保消息发送时顺序写文件。 为了提高消费效率...
万字好文:大报文问题实战 | 京东物流技术团队
导读 大报文问题,在京东物流内较少出现,但每次出现往往是大事故,甚至导致上下游多个系统故障。大报文的背后,是不同商家业务体量不同,特别是B端业务的采购及销售出库单,一些头部商家对京东...
33.RocketMQ之Broker启动源码
Broker启动流程:BrokerStartup#main public static void main(String[] args) { //手动指定了 nameServer start(createBrokerController(args)); } public static B...
RocketMq5.0 任意延迟时间 TimerMessageStore 源码解析
TimerMessageStore 简略介绍 延迟队列 rmq_sys_wheel_timer 指定时间的延迟消息。会先投递到 rmq_sys_wheel_timer 队列中 然后由 TimerMessageStore 消费队列数据,将数据消费到 timerWheel 使...
32.RockectMQ之消费者消费消息源码
消费消息 PullMessageService负责对消息队列进行消息拉取,从远端服务器拉取消息后将消息存储ProcessQueue消息队列处理队列中,然后调用ConsumeMessageService#submitConsumeRequest方法进行消...
31.RocketMQ之消息拉取长轮询机制分析
消息拉取长轮询机制分析 RocketMQ未真正实现消息推模式,而是消费者主动向消息服务器拉取消息,RocketMQ推模式是循环向消息服务端发起消息拉取请求,如果消息消费者向RocketMQ拉取消息时,消息...
30.RocketMQ之消费者拉取消息源码
消息拉取概述 消息消费模式有两种模式:广播模式与集群模式。 广播模式比较简单,每一个消费者需要拉取订阅主题下所有队列的消息。本文重点讲解集群模式。 在集群模式下,同一个消费者组内有多...
29.RocketMQ之消费者负载均衡策略
负载均衡策略概述 消费者在消费消息的时候,需要知道从Broker的哪一个消息队列中去获取消息。所以,在消费者端必须要做负载均衡,即Broker端中多个消费队列分配给同一个消费者组中的哪些消费者...
28.RocketMQ之消费者的负载均衡源码
消费者负载均衡流程 当一个业务系统部署多台机器时,每台机器都启动了一个Consumer,并且这些Consumer都在同一个ConsumerGroup也就是在同1个消费组中。此时一个消费组中多个Consumer消费一个Top...
rocketmq-console基本使用
rocketmq-console基本使用 作用:rocketmq-console是rocketmq的一款可视化工具,提供了mq的使用详情等功能。 一、安装部署 下载rocketmq组件 rocketmq:下载地址、github地址 下载地址如下图所...
27.RocketMQ之消费者启动源码
消费者启动 消费者启动示例代码 package com.itheima.mq.rocketmq.base.producer; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client....
26.RocketMQ之生产者发送消息源码
生产者发送消息的流程图 生产者发送消息的调用链路如下: org.apache.rocketmq.client.producer.DefaultMQProducer#send(org.apache.rocketmq.common.message.Message) org.apache.rocketmq.c...