独立ec2示例中的Kafka生产者和消费者

fnvucqvd  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(339)

我有两个ec2示例,一个用于kafka经纪人,另一个用于kafka消费者。我可以知道如何连接两个ec2示例来相互通信吗。如果我在我的代理中生成一条消息,我需要在消费者中得到它。
基本上,我正在寻找配置中需要在brokerec2示例中提供使用者信息的部分,反之亦然(无论它以何种方式工作)。我需要使用一些api还是什么?
我在单节点集群中进行了尝试,效果很好。

bxgwgixi

bxgwgixi1#

你在ec-2或其他地方托管你的经纪人并不重要,只要消费者可以访问它。
java中使用stringdeserializer处理键和值的示例使用者。如果要从java程序访问,则需要使用kafkaconsumer api

Properties props = new Properties();
 props.put("bootstrap.servers", "YOUR_KAFKA_BROKER_ADDRESS");
 props.put("group.id", "test");
 props.put("enable.auto.commit", "true");
 props.put("auto.commit.interval.ms", "1000");
 props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
 props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
 KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
 consumer.subscribe(Arrays.asList("foo", "bar"));
 while (true) {
     ConsumerRecords<String, String> records = consumer.poll(100);
     for (ConsumerRecord<String, String> record : records)
         System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
 }

https://kafka.apache.org/10/javadoc/?org/apache/kafka/clients/consumer/kafkaconsumer.html

bvn4nwqk

bvn4nwqk2#

如果要跨多台计算机使用kafka,则需要正确配置侦听器。本文介绍了如何:https://rmoff.net/2018/08/02/kafka-listeners-explained/

628mspwn

628mspwn3#

我需要在经纪人那里提供消费者信息
代理不会将消息推送给消费者,因此您不会将消费者的信息提供给任何代理
假设网络设置配置正确,任何针对单个代理工作的代码都应适用于多个代理

相关问题