javascript - 需要在我的 React-Native 应用程序中使用 Apache Kafka

标签 javascript android react-native apache-kafka kafka-consumer-api

我用过 Apache Kafka在我的项目中,需要将它集成到一个 react native 应用程序中,该应用程序也是该项目的一部分。基本上,我的服务器是 Kafka 生产者,应用程序需要收听主题并成为消费者。

起初,我尝试使用这个 npm 包。 https://github.com/SOHU-Co/kafka-node .
但是这个包依赖于 nodejs 的核心模块,这些模块不是 React Native 包的一部分。有没有其他方法可以让我在 React Native 应用程序中使用 Kafka 进行通信? 谢谢!

最佳答案

一个快速的解决方案是将 Kafka 集群置于一个简单的 REST API 之后。使用类似 kafka-rest 的库可能是使用内置的 fetch 函数连接 React Native 应用程序的简单方法。您可以更进一步,尝试集成 kafka-rest-node客户端进入你的 React Native 应用;对 repo 的粗略概述不会导致任何核心 Node 依赖项。

另一种允许“实时”更新的方法可能包括将 Kafka 置于 Web 服务器之后,该服务器将 Kafka 流转换为 WebSocket 连接。 kafka-websocket 等图书馆允许客户既消费又生产,而像 Microsoft 的 kafka-proxy-ws 这样更简单的库只允许消费消息。

值得注意的是,移动客户端并不总是能很好地处理流数据,建议您在各种不确定的网络条件(延迟、信号丢失等)下测试基于 WebSocket 的实现。

关于javascript - 需要在我的 React-Native 应用程序中使用 Apache Kafka,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42531690/

相关文章:

javascript - 动态向 JavaScript 对象添加新元素

javascript - WebRTC: channel 、轨道和流与 RTP SSRC 和 RTP session 之间的关系

android - 使用 SurfaceView 防止绘制超出 Canvas 范围

限制 INSTALL_REFERRER 播放商店的 Android 权限

react-native - 在react-native中设置环境变量?

javascript - 对日历进行图形 API 调用时出现 "Access to OData is disabled"错误

javascript - 如何防止从服务器加载的数据在页面加载时被 Knockout JS 获取 "blanked out"?

ios - 找不到“folly/folly-config.h”文件

android - 当更新的应用程序将在 Play 商店中显示时,分阶段推出

javascript - 如何从绑定(bind)到 React Native 中的 flatlist 的不同组件调用函数