Kafka 简单生产者示例

以下是一个使用Java编写的简单Apache Kafka生产者示例,使用的是Apache Kafka官方提供的Java客户端库。这个示例展示了如何创建一个Kafka生产者实例,配置必要参数,以及发送消息到指定Topic。

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;

import java.util.Properties;

public class SimpleKafkaProducer {
    public static void main(String[] args) {
        // 1. 定义Kafka生产者配置
        Properties producerProps = new Properties();
        producerProps.put("bootstrap.servers", "localhost:9092"); // Kafka集群地址
        producerProps.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); // 键序列化器
        producerProps.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); // 值序列化器

        // 2. 创建Kafka生产者实例
        Producer<String, String> producer = new KafkaProducer<>(producerProps);

        // 3. 定义要发送的消息
        String topicName = "my-topic";
        String key = "message-key";
        String value = "Hello, Kafka!";

        // 4. 发送消息到指定Topic
        for (int i = 0; i < 10; i++) {
            ProducerRecord<String, String> record = new ProducerRecord<>(topicName, key, value + " (" + i + ")");
            producer.send(record);
        }

        // 5. 关闭生产者
        producer.close();
    }
}

在这个示例中:

  1. 首先,创建一个Properties对象来配置生产者。这里指定了Kafka集群的地址(bootstrap.servers),以及键(key)和值(value)的序列化器。本例使用了字符串类型的序列化器。

  2. 使用配置好的属性创建一个KafkaProducer<String, String>实例。这里的泛型参数对应消息的键和值类型。

  3. 定义要发送的消息,包括目标Topic的名称、消息键和消息值。在这个示例中,我们发送的消息键是固定的字符串,消息值是一个包含序号的问候语。

  4. 使用生产者对象的send()方法发送消息到指定的Topic。循环发送了10条消息。

  5. 发送完毕后,调用close()方法关闭生产者,释放资源。

为了运行此示例,确保您已经安装并启动了本地的Kafka服务,并创建了名为my-topic的Topic。此外,需要将示例代码编译并依赖相应的Kafka客户端库(通常为kafka-clients)。如果您使用Maven,可以在pom.xml文件中添加如下依赖:

<dependencies>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>3.4.0</version> <!-- 替换为您使用的Kafka版本 -->
    </dependency>
</dependencies>

替换上述代码中的Kafka版本号为您的实际版本。编译并运行SimpleKafkaProducer类,消息将被发送到指定的Kafka Topic中。

相关推荐

  1. Kafka 简单生产者示例

    2024-04-12 11:46:01       46 阅读
  2. 一个简单的spring+kafka生产者

    2024-04-12 11:46:01       20 阅读
  3. Kafka生产者

    2024-04-12 11:46:01       50 阅读
  4. Kafka官方生产者和消费者脚本简单使用

    2024-04-12 11:46:01       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 11:46:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 11:46:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 11:46:01       82 阅读
  4. Python语言-面向对象

    2024-04-12 11:46:01       91 阅读

热门阅读

  1. C#WPF自定义消息对话框

    2024-04-12 11:46:01       83 阅读
  2. ARM 三个小灯闪烁

    2024-04-12 11:46:01       38 阅读
  3. 如何防重复提交?(前端验证、后端验证)

    2024-04-12 11:46:01       43 阅读
  4. 实用工具系列-git常用命令

    2024-04-12 11:46:01       59 阅读
  5. LeetCode //C - 1539. Kth Missing Positive Number

    2024-04-12 11:46:01       301 阅读
  6. 一个简单的对称加密算法

    2024-04-12 11:46:01       37 阅读
  7. C++ Primer Plus(第6版) 中文版 第七章编程练习

    2024-04-12 11:46:01       42 阅读
  8. 0基础刷图论最短路 1(从ATcoder 0分到1800分)

    2024-04-12 11:46:01       36 阅读
  9. 关于conda安装pytorch gpu总是会自动变成cpu版本

    2024-04-12 11:46:01       41 阅读
  10. 时间戳与时间锁区别与联系

    2024-04-12 11:46:01       48 阅读
  11. 【数据结构】2.包装类&简单认识泛型

    2024-04-12 11:46:01       39 阅读
  12. 【备忘】npm yarn pnpm 命令对比

    2024-04-12 11:46:01       43 阅读