总的来说,我对 Kafka 和流数据非常陌生。我想做的是摄取要通过http发送到kafka的数据。我的研究将我带到了融合的 REST 代理,但我无法让它工作。
我目前拥有的是在 docker 容器中使用 kafkamanager 的单个节点和单个代理运行的 kafka。
不幸的是,我无法使用 docker 运行完整的融合平台,因为我的机器上没有足够的可用内存。
本质上,我的问题是:如何设置一个开发环境,让 kafka 通过 http 摄取数据?
非常感谢任何帮助!
总的来说,我对 Kafka 和流数据非常陌生。我想做的是摄取要通过http发送到kafka的数据。我的研究将我带到了融合的 REST 代理,但我无法让它工作。
我目前拥有的是在 docker 容器中使用 kafkamanager 的单个节点和单个代理运行的 kafka。
不幸的是,我无法使用 docker 运行完整的融合平台,因为我的机器上没有足够的可用内存。
本质上,我的问题是:如何设置一个开发环境,让 kafka 通过 http 摄取数据?
非常感谢任何帮助!
您不需要“完整的 Confluent 平台”(包括 KSQL、控制中心)
Zookeeper、Kafka、REST 代理和可选的 Schema Registry,都应该只占用最多 4 GB 的 RAM。如果你甚至没有,那么你需要去购买更多的内存。
请注意,Zookeeper 和 Kafka 不需要与 Schema Registry 或 REST 代理运行在同一台机器上,因此如果您有多台机器,那么您也可以通过这种方式节省一些资源。
要运行一个 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-produce-and-sumption-messages-in-python-44d5416f582e
希望这些帮助!