探秘Kafka源码:关键内容解析

文章目录

一、以kafka-3.0.0为例

打开 IDEA,点击 File->Open...->源码包解压的位置。

1.1安装 gradle

Gradle是类似于 maven 的代码管理工具。Kafka基于它编译。

IDEA 自动帮你下载安装,下载的时间比较长(网络慢,需要 1 天时间,有 VPN 需要几分钟)。

二、生产者源码

2.1源码主流程图

2.2 初始化

2.3生产者sender线程初始化

2.4 程序入口

复制代码
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;
import java.util.Properties;
public class CustomProducer {
	public static void main(String[] args) {
	// 0 配置
	Properties properties = new Properties();
	// 连接集群 bootstrap.servers
	properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"hadoop102
	:9092,hadoop103:9092");
	// 指定对应的 key 和 value 的序列化类型 key.serializer
	properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
	StringSerializer.class.getName());
	properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,Strin
	gSerializer.class.getName());
	// 1 创建 kafka 生产者对象
	// "" hello
	KafkaProducer<String,  String>  kafkaProducer  =  new
	KafkaProducer<>(properties);
	// 2 发送数据
	for (int i = 0; i < 5; i++) {
	kafkaProducer.send(new
	ProducerRecord<>("first","atguigu"+i));
	}
	// 3 关闭资源
	kafkaProducer.close();
	}
}

2.5生产者 main 线程初始化

点击 main()方法中的 KafkaProducer()。

2.6 跳转到 KafkaProducer构造方法

相关推荐
化作星辰8 小时前
java 给鉴权kafka2.7(sasl)发送消息权限异常处理
java·大数据·开发语言·kafka
过往记忆8 小时前
Kafka 作为事件流的商业模式正在消亡
分布式·kafka
一瓢一瓢的饮 alanchan15 小时前
Flink原理与实战(java版)#第2章 Flink的入门(第二节Flink简介)
java·大数据·flink·kafka·实时计算·离线计算·流批一体化计算
原来是好奇心1 天前
消息队列终极选型:RabbitMQ、RocketMQ、Kafka与ActiveMQ深度对比
分布式·kafka·rabbitmq·rocketmq·activemq·mq
❀͜͡傀儡师2 天前
docker搭建Elasticsearch+Kafka+Logstash+Filebeat日志分析系统
elasticsearch·docker·kafka
老葱头蒸鸡2 天前
(4)Kafka消费者分区策略、Rebalance、Offset存储机制
sql·kafka·linq
xuyanqiangCode2 天前
KAFKA自动修改所有以**开头的主题脚本
分布式·kafka·linq
Hello.Reader2 天前
用 Kafka 打通实时数据总线Flink CDC Pipeline 的 Kafka Sink 实战
flink·kafka·linq
周杰伦_Jay2 天前
【日志处理方案大比拼】 Filebeat+Kafka+Flink+Spark+ES+HDFS VS ELK/AOP/RocketMQ/大厂方案
flink·spark·kafka
q***65692 天前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq