Apache Kafka引入一个新的java客户端(在org.apache.kafka.clients 包中),替代老的Scala客户端,但是为了兼容,将会共存一段时间。为了减少依赖,这些客户端都有一个独立的jar,而旧的Scala客户端继续与服务端保留在同个包下。
Kafka有4个核心API:
- Producer API 允许应用程序发送数据流到kafka集群中的topic。
- Consumer API 允许应用程序从kafka集群的topic中读取数据流。
- Streams API 允许从输入topic转换数据流到输出topic。
- Connect API 通过实现连接器(connector),不断地从一些源系统或应用程序中拉取数据到kafka,或从kafka提交数据到宿系统(sink system)或应用程序。
kafka公开了其所有的功能协议,与语言无关。只有java客户端作为kafka项目的一部分进行维护,其他的作为开源的项目提供,这里提供了非java客户端的列表。
https://cwiki.apache.org/confluence/display/KAFKA/Clients