" Kafka Spout"有什么区别?和一个"卡夫卡消费者"?

时间:2016-07-01 02:23:58

标签: apache-kafka apache-storm

Kafka Spout"和"卡夫卡消费者"从Kafka Brokers检索数据,到目前为止我知道的是用于与Storm通信,而消费者与其他任何东西都是。

- 但是,技术上有什么不同?

- 或者如果我使用消费者提取数据然后使用" Storm Spout"如果我只使用了" Kafka Spout"然后将它添加到我的Storm Topology Builder的setSpout();功能

- 何时使用消费者或Kafka Spout

1 个答案:

答案 0 :(得分:4)

A / the" Kafka Spout"是一个特定于Storm的适配器,用于将数据从Kafka读取到Storm拓扑中。在幕后,Kafka鲸鱼喷水实际上使用了Kafka的内置卡夫卡消费者"客户端。

从技术上讲,不同之处在于Kafka鲸鱼喷水是一种具有风暴意识的包装物#34;在卡夫卡的消费者客户之上。

在Storm中,您通常应该始终使用包含的Kafka鲸鱼喷水(请参阅https://github.com/apache/storm/tree/master/external/storm-kafka或者,对于使用Kafka所谓的"新"消费者客户的鲸鱼喷水实施,{ {3}})。这是一个非常罕见的情况下实现自己的 - 也许最可能的情况是,如果现有的Kafka喷口中存在一个错误,你需要解决,直到Storm项目修复上游的bug。