我有两个ec2示例,一个用于kafka经纪人,另一个用于kafka消费者。我可以知道如何连接两个ec2示例来相互通信吗。如果我在我的代理中生成一条消息,我需要在消费者中得到它。基本上,我正在寻找配置中需要在brokerec2示例中提供使用者信息的部分,反之亦然(无论它以何种方式工作)。我需要使用一些api还是什么?我在单节点集群中进行了尝试,效果很好。
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
bvn4nwqk2#
如果要跨多台计算机使用kafka,则需要正确配置侦听器。本文介绍了如何:https://rmoff.net/2018/08/02/kafka-listeners-explained/
628mspwn3#
我需要在经纪人那里提供消费者信息代理不会将消息推送给消费者,因此您不会将消费者的信息提供给任何代理假设网络设置配置正确,任何针对单个代理工作的代码都应适用于多个代理
3条答案
按热度按时间bxgwgixi1#
你在ec-2或其他地方托管你的经纪人并不重要,只要消费者可以访问它。
java中使用stringdeserializer处理键和值的示例使用者。如果要从java程序访问,则需要使用kafkaconsumer api
https://kafka.apache.org/10/javadoc/?org/apache/kafka/clients/consumer/kafkaconsumer.html
bvn4nwqk2#
如果要跨多台计算机使用kafka,则需要正确配置侦听器。本文介绍了如何:https://rmoff.net/2018/08/02/kafka-listeners-explained/
628mspwn3#
我需要在经纪人那里提供消费者信息
代理不会将消息推送给消费者,因此您不会将消费者的信息提供给任何代理
假设网络设置配置正确,任何针对单个代理工作的代码都应适用于多个代理