栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

kafka java创建topic

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kafka java创建topic

创建 topic javatest

bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic javatest --partitions 3 --replication-factor 1

pom.xml

org.apache.kafka

kafka-clients

2.3.0

特别注意的需要设置:advertised.listeners

然后附上连接的 Producer 和Consumer 的代码

import java.util.Properties;

import java.util.Random;

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

import org.apache.kafka.clients.producer.ProducerConfig;

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

import org.apache.kafka.common.serialization.StringSerializer;

public class Producer {

public static String topic = "javatest";//定义主题

public static void main(String[] args) throws InterruptedException {

Properties p = new Properties();

p.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "www.top1novel.com:9092");//kafka地址,多个地址用逗号分割

p.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);

p.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);

KafkaProducer kafkaProducer = new KafkaProducer(p);

try {

while (true) {

String msg = "Hello," + new Random().nextInt(100);

ProducerRecord record = new ProducerRecord(topic, msg);

kafkaProducer.send(record);

System.out.println("消息发送成功:" + msg);

Thread.sleep(500);

}

} finally {

kafkaProducer.close();

}

}

}

import java.util.Collections;

import java.util.Properties;

import org.apache.kafka.clients.consumer.ConsumerConfig;

import org.apache.kafka.clients.consumer.ConsumerRecord;

import org.apache.kafka.clients.consumer.ConsumerRecords;

import org.apache.kafka.clients.consumer.KafkaConsumer;

import org.apache.kafka.common.serialization.StringDeserializer;

public class Consumer {

public static void main(String[] args) {

Properties p = new Properties();

p.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "www.top1novel.com:9092");

p.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);

p.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);

p.put(ConsumerConfig.GROUP_ID_CONFIG, "test-consumer-group");

KafkaConsumer kafkaConsumer = new KafkaConsumer(p);

kafkaConsumer.subscribe(Collections.singletonList(Producer.topic));// 订阅消息

while (true) {

ConsumerRecords records = kafkaConsumer.poll(100);

for (ConsumerRecord record : records) {

System.out.println(String.format("topic:%s,offset:%d,消息:%s", //

record.topic(), record.offset(), record.value()));

}

}

}

}

使用kafka-net 也可以连接。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using KafkaNet;

using KafkaNet.Model;

using KafkaNet.Protocol;

namespace ConsoleApp1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("this ");

var options = new KafkaOptions(new Uri("http://www.top1novel.com:9092"));

var router = new BrokerRouter(options);

var producer = new Producer(router);

List msgArr = new List();

msgArr.Add(new Message("你好"));

producer.SendMessageAsync("javatest", msgArr.ToArray()).Wait(3000);

Console.ReadKey();

}

}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955585.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号