将路由器数据推送到分布式消息系统

时间:2014-06-17 17:05:32

标签: networking message-queue distributed-computing flume apache-kafka

查询:使路由器的接口成为kafka集群的生产者。

问题:我的路由器的界面正在尝试将数据推送到运行kafka的端口。 (默认为9092)。

Q值。 1但是kafka经纪人是否可以在没有创建主题的情况下接受这些数据?

Q值。 2 kafka消费者可以在不指定主题的情况下提取数据吗?

      If yes, How ?

      If not, What is work around this and how can i achieve this ?

第1次编辑:

我刚检查过Kafka经纪人配置有“auto.create.topics.enable”字段。 如果我将此设置为true并在kafka的端口上发送一些随机数据而不使用“kafka-console-producer”命令,那么kafka经纪人会接受它吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

  

kafka代理可以在没有创建主题的情况下接受此数据

默认情况下,Kafka代理以一种创建主题的方式设置,如果您尝试将数据推送到该主题但它尚不存在。此行为由auto.create.topics.enable参数(true / false值)控制。

经纪人无法接受没有创建主题的数据。是的,必须在生产者方面指定主题名称。

  

kafka消费者是否可以在不指定主题的情况下提取数据

不,它不能。

  

如果没有,解决这个问题的方法是什么,我该如何实现?

你必须以某种方式检索主题名称,例如,通过api列出所有主题并选择正确的主题,或者你可以直接挖掘到zookeeper内部,但我不建议你这样做。

  

我刚检查过Kafka经纪人配置了" auto.create.topics.enable"领域。如果我将其设置为true并在kafka的端口上发送一些随机数据而不使用" kafka-console-producer"命令,卡夫卡经纪人会接受吗?

当然不是。 Kafka使用it's own protocol在生产者和代理,经纪人和消费者之间建立连接,而且,这些消息是专门编码的。