流程图
flowchart TD;
A[开始]-->B(创建Kafka生产者);
B-->C(发送消息);
C-->D(创建Kafka消费者);
D-->E(接收消息);
E-->F(验证消息);
F-->G(结束);
甘特图
gantt
dateFormat YYYY-MM-DD
title Java测试Kafka任务甘特图
section 创建Kafka生产者
创建Producer :2019-10-01, 2d
配置Kafka连接信息 :2019-10-03, 1d
section 发送消息
发送消息到Kafka :2019-10-04, 1d
section 创建Kafka消费者
创建Consumer :2019-10-05, 2d
配置Kafka连接信息 :2019-10-07, 1d
section 接收消息
从Kafka接收消息 :2019-10-08, 2d
section 验证消息
验证接收到的消息 :2019-10-10, 2d
section 结束
完成任务 :2019-10-12, 1d
Java测试Kafka的步骤
步骤 |
说明 |
1. 创建Kafka生产者 |
创建一个Kafka生产者对象,并设置Kafka连接信息 |
2. 发送消息到Kafka |
使用Kafka生产者对象发送消息到指定的Kafka主题 |
3. 创建Kafka消费者 |
创建一个Kafka消费者对象,并设置Kafka连接信息 |
4. 从Kafka接收消息 |
使用Kafka消费者对象从指定的Kafka主题接收消息 |
5. 验证接收到的消息 |
验证接收到的消息是否与发送的消息一致 |
6. 完成任务 |
结束测试任务 |
代码实现
1. 创建Kafka生产者
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.common.serialization.StringSerializer;
public class KafkaProducerExample {
public static void main(String[] args) {
// 设置Kafka连接信息
String bootstrapServers = "localhost:9092";
String topic = "test-topic";
// 配置Kafka生产者
Properties props = new Properties();
props.put("bootstrap.servers", bootstrapServers);
props.put("key.serializer", StringSerializer.class.getName());
props.put("value.serializer", StringSerializer.class.getName());
// 创建Kafka生产者
Producer<String, String> producer = new KafkaProducer<>(props);
// 发送消息到Kafka
String message = "Hello, Kafka!";
producer.send(new ProducerRecord<String, String>(topic, message));
// 关闭Kafka生产者
producer.close();
}
}
2. 发送消息到Kafka
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.common.serialization.StringSerializer;
public class KafkaProducerExample {
public static void main(String[] args) {
// 设置Kafka连接信息
String bootstrapServers = "localhost:9092";
String topic = "test-topic";
// 配置Kafka生产者
Properties props = new Properties();
props.put("bootstrap.servers", bootstrapServers);
props.put("key.serializer", StringSerializer.class.getName());
props.put("value.serializer", StringSerializer.class.getName());
// 创建Kafka生产者
Producer<String, String> producer = new KafkaProducer<>(props);
// 发送消息到Kafka
String message = "Hello, Kafka!";
producer.send(new ProducerRecord<String, String>(topic, message));
// 关闭Kafka生产者
producer.close();
}
}
3. 创建Kafka消费者
import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.common.serialization.StringDeserializer;
import java.time.Duration;
import java.util.Arrays;
import java.util.Properties;
public class KafkaConsumerExample {
public static void main(String[] args) {
// 设置Kafka连接信息
String bootstrapServers = "localhost:9092";
String topic = "test-topic";
// 配置Kafka消费者
Properties props = new Properties();
props.put("bootstrap.servers", bootstrapServers);
props.put("group.id", "test-group");
props.put("key.deserializer", StringDeserializer.class.getName());
props.put("value.deserializer", StringDeserializer.class.getName());
// 创建Kafka消费者