在Java中快速创建kafka

本教程介绍如何在Java中创建一个简单的Kafka生产者,首先创建复制的Kafka主题,然后使用gradle构建项目,接着构建Kafka生产者并同步、异步发送记录到Kafka集群。讲解了Kafka生产者的配置、序列化器以及异步发送的原理。
摘要由CSDN通过智能技术生成

在优锐课的java学习分享中,这个详细的教程将帮助你创建一个简单的Kafka生产者,该生产者可将记录发布到Kafka集群。

在本教程中,我们将创建一个简单的Java示例,该示例创建一个Kafka生产者。 你创建一个名为my-example-topic的新复制的Kafka主题,然后创建一个使用该主题发送记录的Kafka生产者。将向Kafka制作人发送记录。同步发送记录,稍后,你将异步发送记录。

在你开始前

本教程的前提条件是命令行中的Kafka以及Kafka群集和故障转移基础知识。
本教程是系列教程的一部分。 如果不确定什么是卡夫卡,则应从什么开始。 如果你不熟悉Kafka的体系结构,那么建议你阅读Kafka Architecture,Kafka Topics Architecture,Kafka Producer Architecture和Kafka Consumer Architecture。

创建复制的Kafka主题

#!/usr/bin/env bash
cd ~/kafka-training
## Create topics
kafka/bin/kafka-topics.sh --create \
    --replication-factor 3 \
    --partitions 13 \
    --topic my-example-topic \
    --zookeeper  localhost:2181
## List created topics
kafka/bin/kafka-topics.sh --list \
    --zookeeper localhost:2181

在上面,我们创建了一个名为my-example-topic的主题,具有13个分区和3的复制因子。然后列出了Kafka主题。
如下运行create-topic.sh。
运行create-topic.sh的输出

~/kafka-training/lab3
$ ./create-topic.sh
Created topic "my-example-topic".
__consumer_offsets
my-example-topic
my-failsafe-topic

Gradle构建脚本

在此示例中,我们使用gradle构建项目。
〜/ kafka-training / lab3 / solution / build.gradle

group 'cloudurable-kafka'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
    mavenCentral()
}
dependencies {
    compile 'org.apache.kafka:kafka-clients:0.10.2.0'
    compile 'ch.qos.logback:logback-classic:1.2.2'
}

请注意,我们导入了jar文件kafka-clients:0.10.2.0。 Apache Kafka使用sl4j,因此要设置日志记录,我们使用logback(ch.qos.logback:logback-classic:1.2.2)。

构造一个 Kafka 生产者Construct a Kafka

要创建Kafka生产者,你需要向其传递引导服务器列表(Kafka代理列表)。 你还将指定一个client.id来唯一标识此Producer客户端。 在此示例中,我们将发送带有ID的消息。 邮件正文是一个字符串,因此我们需要一个记录值序列化程序,因为我们将在Kafka的“记录值”字段中发送邮件正文。 消息ID(长)将作为Kafka的记录密钥发送。 你将需要指定一个密钥序列化程序和一个值序列化程序,Kafka将使用它们来将消息ID编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值