通过http将数据流接收到Kafka

时间:2019-01-14 15:06:14

标签: apache-kafka confluent kafka-rest

我对Kafka和Streaming Data非常陌生。我想做的是摄取要通过http发送到kafka的数据。我的研究使我进入了融合的REST代理,但我无法使其正常工作。

我目前拥有的是在docker容器中运行带有kafkamanager的单个节点和单个代理的kafka。

不幸的是,我无法在docker上运行完整的融合平台,因为我的计算机上没有足够的可用内存。

本质上,我的问题是:如何设置一个开发环境,在该环境中,kafka会通过http接收数据?

我们非常感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您不需要“完整的融合平台”(包括KSQL,Control Center)

Zookeeper,Kafka,REST代理,以及可选的架构注册表,都应该总共最多占用4 GB的RAM。如果您什至没有,那您​​就需要去购买更多的RAM。

请注意,Zookeeper和Kafka无需与Schema Registry或REST代理在同一台计算机上运行,​​因此,如果您有多台计算机,则也可以通过这种方式节省一些资源。

答案 1 :(得分:1)

要运行一个Kafka代理,zookeeper和架构注册表,通常1Gb(在开发环境中)就足够了。

如果由于某些原因不想使用Confluent REST代理,则可以编写自己的代理。这很简单:“根据请求,解析传入的JSON,验证数据,构造您的消息(在Avro中?)并将其生成给Kafka”。

在本文中,您将找到一些配置以在堆内存上按Kafka和ZK:https://medium.com/@saabeilin/kafka-hands-on-part-i-development-environment-fc1b70955152

在这里您可以阅读如何使用Python生成/使用消息: https://medium.com/@saabeilin/kafka-hands-on-part-ii-producing-and-consuming-messages-in-python-44d5416f582e

希望这些帮助!