上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第2章 生产者
从编程的角度而言,生产者就是负责向Kafka发送消息的应用程序。在Kafka的历史变迁中,一共有两个大版本的生产者客户端:第一个是于Kafka开源之初使用Scala语言编写的客户端,我们可以称之为旧生产者客户端(Old Producer)或Scala版生产者客户端;第二个是从Kafka 0.9.x 版本开始推出的使用 Java 语言编写的客户端,我们可以称之为新生产者客户端(New Producer)或Java版生产者客户端,它弥补了旧版客户端中存在的诸多设计缺陷。
虽然Kafka是用Java/Scala语言编写的,但这并不妨碍它对于多语言的支持,在Kafka官网中,“CLIENTS”的入口[1]提供了一份多语言的支持列表,其中包括常用的C/C++、Python、Go等语言,不过这些其他类语言的客户端并非由Kafka社区维护,如果使用则需要另行下载。本章主要针对现下流行的新生产者(Java语言编写的)客户端做详细介绍,而旧生产者客户端已被淘汰,故不再做相应的介绍了。