Kafka权威指南:Kafka生产者
Kafka生产者
Kafka 发送消息的主要步骤:

ProducerRecord 对象包括目标主题和发送的内容,还可以制定键或分区。如果消息成功写入 Kafka,就返回一个 RecordMetaData 对象,它包含了主题和分区信息,以及记录在分区里的偏移量。如果写入失败,则会返回一个错误。
Propertites prop = new Propertites();
prop.put("bootstrap.servers", "broker1:9092,borker2:9092");
prop.put("key.deserializer", "org.apache.kafka.common.serialiation.StringDeserializer");
prop.put("value.deserializer", "org.apache.kafka.common.serialiation.StringDeserializer");
KafkaProducer<String, String> producer = new KafkaProducer<String, String>(prop);
Kafka 发送消息主要有以下3种方式:
- 发送并忘记:把消息发送给服务器,但并不关心它是否正常到达。
ProducerRecord<String, String> record
= new ProducerRecord<>("CustoerContry", "Precision Products", "France");
try {
producer.send(record);
} catch(Exception e) {
e.printStackTrce();
}
}
- 同步发送:使用 send() 方法发送消息,它会返回一个 Future 对象,调用 get() 方法进行等待,就可以知道消息是否发送成功。
ProducerRecord<String, String> record
= new ProducerRecord<>("CustoerContry", "Precision Products", "France");
try {
producer.send(record).get();
} catch(Exception e) {
e.printStackTrce();
}
}
- 异步发送:调用 send() 方法, 并指定一个回调函数,服务器在返回响应时调用该函数。
本章节需登录后查看完整内容,当前为预览。
登录后阅读全文Course Curriculum
1
编程根基:数据结构、算法与系统基础
掌握常用数据结构与算法思想,理解操作系统进程/内存管理及网络 TCP/IP 模型,为后续性能分析、并发设计和系统调优提供底层认知支撑。
2
Java 内核:JVM 与并发编程
深入 JVM 内存布局、垃圾回收机制与 Java 内存模型,熟练使用并发工具类与锁原语,写出线程安全、低延迟、可诊断的高性能 Java 代码。
3
框架与 I/O:Spring、Netty 与 Web 容器
理解 Spring Boot 自动装配、AOP 与事务原理,掌握 Netty Reactor 模型及 Tomcat 连接处理机制,构建高内聚、易扩展的应用服务层。
4
高性能中间件:消息、缓存与存储
熟练运用 MySQL 索引/事务、Redis 缓存策略、Kafka/RocketMQ 消息可靠性,以及 ZooKeeper 分布式协调,搭建稳定、解耦的分布式数据底座。
5
架构能力:高可用、DDD 与系统设计
基于领域驱动设计划分限界上下文,结合限流、熔断、多活容灾等手段,设计可演进、可观测、故障自愈的大规模业务系统。