- Acceptor 监听客户端的连接请求,并建立和客户端的数据传输通道,然后为这个客户端指定一个Processor,它的工作就到此结束,这样它就可以去响应下一个客户端的连接请求了。 Processor 主要职责是负责从客户端读取数据和将响应返回给客户端,它本身不处理具体的业务逻辑,每个Processor都有一个Selector,用来监听多个客户端,因此可以非阻... Acceptor 监听客户端的连接请求,并建立和客户端的数据传输通道,然后为这个客户端指定一个Processor,它的工作就到此结束,这样它就可以去响应下一个客户端的连接请求了。 Processor 主要职责是负责从客户端读取数据和将响应返回给客户端,它本身不处理具体的业务逻辑,每个Processor都有一个Selector,用来监听多个客户端,因此可以非阻...
- 1 分区消费模式 直接由客户端(任一语言编写)使用Kafka提供的协议向服务器发送RPC请求获取数据,服务器接受到客户端的RPC请求后,将数据构造成RPC响应,返回给客户端,客户端解析相应的RPC响应获取数据。 Kafka支持的协议众多,使用比较重要的有: 获取消息的FetchRequest和FetchResponse获取offset的OffsetRequest和... 1 分区消费模式 直接由客户端(任一语言编写)使用Kafka提供的协议向服务器发送RPC请求获取数据,服务器接受到客户端的RPC请求后,将数据构造成RPC响应,返回给客户端,客户端解析相应的RPC响应获取数据。 Kafka支持的协议众多,使用比较重要的有: 获取消息的FetchRequest和FetchResponse获取offset的OffsetRequest和...
- Kafka是分布式的,基于发布订阅的消息系统。 1 特点 同时为发布和订阅提供高吞吐量 Kafka每秒可生产约25万条消息(50 MB),每秒处理55万条消息(110 MB)持久化 默认就将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及防止数据丢失。以O(1)时间复杂度提供消息持久化能力,即使对TB级以上数据也能保证常... Kafka是分布式的,基于发布订阅的消息系统。 1 特点 同时为发布和订阅提供高吞吐量 Kafka每秒可生产约25万条消息(50 MB),每秒处理55万条消息(110 MB)持久化 默认就将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及防止数据丢失。以O(1)时间复杂度提供消息持久化能力,即使对TB级以上数据也能保证常...
- 在Kafka的数据路径下有很多.index和.timeindex后缀文件: .index文件,即Kafka中的位移索引文件.timeindex文件,即时间戳索引文件。 1 OffsetIndex - 位移索引 1.1 定义 用于根据位移值快速查找消息所在文件位置。 每当Consumer需要从topic分区的某位置开始读消息时,Kafka就会用OffsetInd... 在Kafka的数据路径下有很多.index和.timeindex后缀文件: .index文件,即Kafka中的位移索引文件.timeindex文件,即时间戳索引文件。 1 OffsetIndex - 位移索引 1.1 定义 用于根据位移值快速查找消息所在文件位置。 每当Consumer需要从topic分区的某位置开始读消息时,Kafka就会用OffsetInd...
- 1.kafka启动: ./kafka-server-start.sh ../config/server.properties & 2.创建topic: ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic tes 3.查看... 1.kafka启动: ./kafka-server-start.sh ../config/server.properties & 2.创建topic: ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic tes 3.查看...
- 本节目录 1、消息轨迹数据格式2、记录消息轨迹3、如何存储消息轨迹数据 RocketMQ消息轨迹主要包含两篇文章:设计篇与源码分析篇,本节将详细介绍RocketMQ消息轨迹-设计相关。 RocketMQ消息轨迹,主要跟踪消息发送、消息消费的轨迹,即详细记录消息各个处理环节的日志,从设计上至少需要解决如下三个核心问题: 消费轨迹数据格式记录消息轨迹(... 本节目录 1、消息轨迹数据格式2、记录消息轨迹3、如何存储消息轨迹数据 RocketMQ消息轨迹主要包含两篇文章:设计篇与源码分析篇,本节将详细介绍RocketMQ消息轨迹-设计相关。 RocketMQ消息轨迹,主要跟踪消息发送、消息消费的轨迹,即详细记录消息各个处理环节的日志,从设计上至少需要解决如下三个核心问题: 消费轨迹数据格式记录消息轨迹(...
- 本篇将结合自己使用 RocketMQ 的经验,对消息发送常见的问题进行分享,基本会遵循出现问题,分析问题、解决问题。 No route info of this topic 无法找到路由信息,其完整的错误堆栈信息如下: 而且很多读者朋友会说,Broker 端开启了自动创建主题也会出现上述问题。 RocketMQ 的路由寻找流程如下图所示: 上面的核心关键点如... 本篇将结合自己使用 RocketMQ 的经验,对消息发送常见的问题进行分享,基本会遵循出现问题,分析问题、解决问题。 No route info of this topic 无法找到路由信息,其完整的错误堆栈信息如下: 而且很多读者朋友会说,Broker 端开启了自动创建主题也会出现上述问题。 RocketMQ 的路由寻找流程如下图所示: 上面的核心关键点如...
- 消息组接到某项目组反馈,topic 在扩容后出现部分队列无法被消费者,导致消息积压,影响线上业务? 考虑到该问题是发送在真实的线上环境,为了避免泄密,本文先在笔者的虚拟机中来重现问题。 本节目录 1、案情回顾1.1 集群现状1.2、RocketMQ 在线扩容队列1.3 消息发送 2、问题暴露3、问题分析4、问题复盘 1、案情回顾 1.1 集群现状 ... 消息组接到某项目组反馈,topic 在扩容后出现部分队列无法被消费者,导致消息积压,影响线上业务? 考虑到该问题是发送在真实的线上环境,为了避免泄密,本文先在笔者的虚拟机中来重现问题。 本节目录 1、案情回顾1.1 集群现状1.2、RocketMQ 在线扩容队列1.3 消息发送 2、问题暴露3、问题分析4、问题复盘 1、案情回顾 1.1 集群现状 ...
- 1、初识 Kafka Producer 生产者 2、源码分析 Kafka 消息发送流程(文末附流程图) 3、KafkaProducer Sender 线程详解(含详细的执行流程图) 4、初始 Kafka Consumer 消费者 5、源码分析Kafka 消息拉取流程 6、Kafka与RocketMQ性能对比大揭秘 1、初识 Kafka Producer 生产者 2、源码分析 Kafka 消息发送流程(文末附流程图) 3、KafkaProducer Sender 线程详解(含详细的执行流程图) 4、初始 Kafka Consumer 消费者 5、源码分析Kafka 消息拉取流程 6、Kafka与RocketMQ性能对比大揭秘
- image.png 测试数据准备 在正式开始之前,请先下载好上述所需要的文件。我们首先用命令docker-compose up -d启动docker。我们可以利用以下命令从 Terminal 进入 Mysql 容器之中,并插入相应的数据。 docker exec -it mysql bash -c 'mysql -uroot -p123456' 在 Mysql ... image.png 测试数据准备 在正式开始之前,请先下载好上述所需要的文件。我们首先用命令docker-compose up -d启动docker。我们可以利用以下命令从 Terminal 进入 Mysql 容器之中,并插入相应的数据。 docker exec -it mysql bash -c 'mysql -uroot -p123456' 在 Mysql ...
- 幂等性+ack-1+事务 Kafka数据重复,可以再下一级:SparkStreaming、redis或者hive中dwd层去重,去重的手段:分组、按照id开窗只取第一个值; Kafka数据重复怎么处理? 在下一级消费者中去重。(redis、SparkStreaming) 二、重复消费问题: 即上述 消费方第1种情况—consumer在从broker读取消息后等消费完再comm... 幂等性+ack-1+事务 Kafka数据重复,可以再下一级:SparkStreaming、redis或者hive中dwd层去重,去重的手段:分组、按照id开窗只取第一个值; Kafka数据重复怎么处理? 在下一级消费者中去重。(redis、SparkStreaming) 二、重复消费问题: 即上述 消费方第1种情况—consumer在从broker读取消息后等消费完再comm...
- 1)如果MR造成系统宕机。此时要控制Yarn同时运行的任务数,和每个任务申请的最大内存。调整参数: yarn.scheduler.maximum-allocation-mb(单个任务可申请的最多物理内存量,默认是8192MB) 2)如果写入文件过量造成NameNode宕机。那么调高Kafka的存储大小,控制从Kafka到HDFS的写入速度。高峰期的时候用Kafka进行缓存,高峰... 1)如果MR造成系统宕机。此时要控制Yarn同时运行的任务数,和每个任务申请的最大内存。调整参数: yarn.scheduler.maximum-allocation-mb(单个任务可申请的最多物理内存量,默认是8192MB) 2)如果写入文件过量造成NameNode宕机。那么调高Kafka的存储大小,控制从Kafka到HDFS的写入速度。高峰期的时候用Kafka进行缓存,高峰...
- 10 Kafka丢不丢数据 Ack=0,相当于异步发送,消息发送完毕即offset增加,继续生产。 Ack=1,leader收到leader replica 对一个消息的接受ack才增加offset,然后继续生产。 Ack=-1,leader收到所有replica 对一个消息的接受ack才增加offset,然后继续生产。 kafka 如何保证数据不丢失 kafka的分区策略==... 10 Kafka丢不丢数据 Ack=0,相当于异步发送,消息发送完毕即offset增加,继续生产。 Ack=1,leader收到leader replica 对一个消息的接受ack才增加offset,然后继续生产。 Ack=-1,leader收到所有replica 对一个消息的接受ack才增加offset,然后继续生产。 kafka 如何保证数据不丢失 kafka的分区策略==...
- 在 Kafka内部存在两种默认的分区分配策略:Range和 RoundRobin。 Range是默认策略。Range是对每个Topic而言的(即一个Topic一个Topic分),首先对同一个Topic里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序。然后用Partitions分区的个数除以消费者线程的总数来决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者... 在 Kafka内部存在两种默认的分区分配策略:Range和 RoundRobin。 Range是默认策略。Range是对每个Topic而言的(即一个Topic一个Topic分),首先对同一个Topic里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序。然后用Partitions分区的个数除以消费者线程的总数来决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者...
- 19 Kafka参数优化 1)Broker参数配置(server.properties) 1、网络和io操作线程配置优化 broker处理消息的最大线程数(默认为3) num.network.threads=cpu核数+1 broker处理磁盘IO的线程数 num.io.threads=cpu核数*2 2、log数据文件刷盘策略 每当producer写入10000条消息时,刷数... 19 Kafka参数优化 1)Broker参数配置(server.properties) 1、网络和io操作线程配置优化 broker处理消息的最大线程数(默认为3) num.network.threads=cpu核数+1 broker处理磁盘IO的线程数 num.io.threads=cpu核数*2 2、log数据文件刷盘策略 每当producer写入10000条消息时,刷数...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
苏州工业园区“华为云杯”2025人工智能应用创新大赛赛中直播
2025/08/21 周四 16:00-17:00
Vz 华为云AIoT技术布道师
本期直播将与您一起探讨如何基于华为云IoT平台全场景云服务,结合AI、鸿蒙、大数据等技术,打造有创新性,有竞争力的方案和产品。
即将直播
热门标签