
kafka
文章平均质量分 84
“消息即血液,架构即生命。”
Kafka不仅是分布式系统的“消息大动脉”,更是现代高并发架构的基石。
本专栏以“原理+实战+源码”三维切入,带你穿透Kafka迷雾,从零搭建亿级吞吐的消息引擎,掌握大数据生态的核心竞争力。
Timmer丿
不积跬步,无以至千里;不积小流,无以成江海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kafka学习笔记(三、消费者Consumer使用教程——消费性能多线程提升思考)
针对KafkaConsumer单线程限制,本文提出两种多线程实现方案:线程封闭方式:每个线程创建独立KafkaConsumer实例,并发度受分区数限制。代码示例展示了通过KafkaConsumerThread类实现多线程消费。消息处理多线程:在方案一基础上增加线程池处理消息,使用RecordsHandler类异步处理消息记录,需配合共享offsets实现提交。该方案进一步提升消费速度,但需注意线程安全。两种方案均通过代码示例说明实现细节,适用于不同消费场景需求。原创 2025-05-31 21:51:57 · 1023 阅读 · 0 评论 -
kafka学习笔记(三、消费者Consumer使用教程——配置参数大全及性能调优)
本文详细介绍了Kafka消费者的核心配置参数与性能优化策略。参数部分涵盖必填项(如bootstrap.servers、group.id)、网络设置(fetch.min.bytes等)和提交策略(auto.offset.reset)。性能优化建议包括:调整拉取参数(max.poll.records)、心跳配置(session.timeout.ms)、采用手动异步提交位移,以及通过增加消费者实例、多线程处理、批量操作提升吞吐量。还涉及JVM调优、分区设计等系统级优化,帮助实现高并发低延迟的消费场景。原创 2025-05-31 21:52:24 · 1389 阅读 · 0 评论 -
kafka学习笔记(三、消费者Consumer使用教程——从指定位置消费)
本文介绍了Kafka消费者如何通过seek()方法实现精确位移消费控制。原创 2025-05-29 09:51:44 · 939 阅读 · 0 评论 -
kafka学习笔记(三、消费者Consumer使用教程——使用实例及及核心流程源码讲解)
文章内容聚焦Kafka消费者实现的关键技术点,通过代码示例和概念解析相结合的方式,系统性地介绍了Kafka消费者的工作机制和使用方法。原创 2025-05-29 09:50:20 · 1643 阅读 · 0 评论 -
kafka学习笔记(四、生产者、消费者(客户端)深入研究(三)——事务详解及代码实例)
Kafka事务是Apache Kafka在流处理场景中实现Exactly-Once语义的核心机制。它允许生产者在的操作中,以或消息,确保数据处理的最终一致性。例如,在流处理中,消费者读取消息后处理并生成新消息,若处理失败,事务可确保原始消息的消费偏移与新消息的发送同时回滚,避免数据不一致。跨分区的写操作要么全部成功,要么全部失败。事务未提交时,消息对消费者不可见(通过配置实现)。事务状态持久化至内部,支持故障恢复。原创 2025-05-09 17:19:32 · 1109 阅读 · 7 评论 -
kafka学习笔记(四、生产者、消费者(客户端)深入研究(二)——消费者协调器与_consumer_offsets剖析)
如果消费者客户端中配置了多个分配策略,则多消费者的分区分配交由消费者协调器和组协调器来完成,他们之间使用一套组协调协议进行交互。原创 2025-05-01 16:46:41 · 1231 阅读 · 2 评论 -
kafka学习笔记(四、生产者、消费者(客户端)深入研究(一)——分区分配策略)
自定义分区分配策略必须实现接口。// 设置消费者自身相关的subscription信息// 提供分区分配策略的名称,命名不能重复// 分区分配方案实现,metadata参数表示集群的元数据信息,subscriptions表示消费组内各个消费者成员的订阅信息,// 最终返回各个消费者的分配信息// 在每个消费者收到消费者组leader分配结果时的回调函数// 表示消费者的订阅信息// 消费者订阅的主题列表// 用户自定义信息// ...// 表示分配结果信息。原创 2024-07-16 16:06:18 · 1238 阅读 · 0 评论 -
kafka学习笔记(三、生产者Producer使用教程——原理及最全配置参数解析)
生产者就是负责向kafka发送消息的应用程序。消息在通过send()方法发往broker的过程中,有可能需要经过和的一系列作用后才能被真正的发往broker。key用来指定消息的键,不仅是附加消息还可以用来计算分区号而可以让消息发往特定的分区。byte[]原创 2024-05-07 17:58:00 · 3571 阅读 · 0 评论 -
Kafka学习笔记(二、linux和docker安装及使用demo)
第一个总是Kafka Connect进程的配置,包含常见的配置,比如Kafka要连接的代理和数据的序列化格式。这些示例配置文件,包含在Kafka中,使用您之前启动的默认本地集群配置并创建两个连接器:第一个是源连接器,它从输入文件中读取行并将每个行生成到Kafka主题,第二个是接收器连接器,它从Kafka主题中读取消息并将每个消息作为输出文件中的一行生成。下面我们介绍如何使用简单的连接器来运行Kafka Connect,将数据从文件导入到Kafka主题,并将数据从Kafka主题导出到文件。原创 2024-04-23 18:13:25 · 1657 阅读 · 2 评论 -
Kafka学习笔记(一、kafka简介及概念)
kafka目前定为一个,以等多种特性而别广泛应用。原创 2024-04-19 09:45:08 · 641 阅读 · 0 评论 -
Log4j2异步将log发送到kafka (kafka及其依赖环境的docker配置和使用)
一,kafka config1.下载,安装docker desktop在windowshttps://hub.docker.com/?overlay=onboarding2.设置docket kafka转接到本机的hostexport DOCKER_KAFKA_HOST=###.###.###.###3.在docker安装kafka相关的images并启动容器我们使用的是d...原创 2019-12-04 15:10:43 · 2532 阅读 · 1 评论 -
kafka消费者(consumer)异步处理及性能优化
简介本文的重点在于从kafka读取数据之后的异步处理,批量提交等旨在提高性能的操作。有关Kafka Customer, Kafka Customer Group,以及Kafka Customer的配置等内容不做过多的解释,如果需要了解这方面的内容可参考Kafka消费者-从Kafka读取数据(本人读了感觉讲的停详细的),了解更多的内容。gradleimplementation "org.jetbrains.kotlin:kotlin-stdlib" // Generate optimized J原创 2021-01-22 15:50:44 · 3294 阅读 · 0 评论 -
log4j2配置解析及发送log到kafka(xml/yml)
log4j2的优势 在异步,吞吐量等方面有极大的性能提升,Log4j2的性能为什么这么好https://www.jianshu.com/p/359b14067b9e maven <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --><dependency>...原创 2019-11-01 16:38:16 · 1818 阅读 · 0 评论 -
高并发下kafka producer配置优化
简介kafka producer是kafka集群的发送消息的客户端,主要就是向某个topic的某个分区发送一条消息。partitioner决定向哪个分区发送消息。用户指定key,默认的分区器会根据key的哈希值来选择分区,如果没有指定key就以轮询的方式选择分区。也可以自定义分区策略。旧版本:0.9.0.0版本以前,入口类:kafka.producer.Producer,同步机制,等待响应...原创 2020-10-27 15:56:52 · 2594 阅读 · 0 评论 -
spring boot中使用kafka详解(踩完坑又爬了出来)
一.概述本文会使用两种方式使用kafka:直接使用kafka-client连接kafka服务;另一种是使用spring-kafka框架来连接kafka。二.Compatibility(兼容性):springboot:2.2.1.RELEASEgradle:compile ('org.apache.kafka:kafka-clients:2.4.0')compile ('or...原创 2020-01-29 17:07:38 · 8477 阅读 · 0 评论