之前讲过了[Kafka基本概念及原理][1],这次我们来看看Kafka Client的API。要使用Kafka Client的API,首先需要先部署Kafka集群,部署过程请参见[官网][2]。然后在项目中添加Kafka Client的依赖,在这里我们使用0.10.0.1版本:
org.apache.kafka
kafka-clients
0.10.0.1
Kafka有以下四个核心API:
Producer
Consumer
Streams
Connect
这里我们来讲解比较基础的Producer和Consumer。假设读者已经按照[官网][2]在本机配置好了Kafka服务,并创建了名为“test”的topic。
Producer API
Producer用来向Kafka集群中发布消息记录的Kafka客户端。Producer是线程安全的,并且通常来讲,在多个线程间共享一个producer要比每个线程都创建一个producer速度更快。Producer的API相对比较简单,下面给出一个较为简单的API实例:
import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
public class ProducerDemo {
public static void main(String[] args) {
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
props.put("key.serializer", "