Javascript 需要在我的React本机应用程序中使用Apache Kafka

Javascript 需要在我的React本机应用程序中使用Apache Kafka,javascript,android,react-native,apache-kafka,kafka-consumer-api,Javascript,Android,React Native,Apache Kafka,Kafka Consumer Api,我在我的项目中使用过,需要将其集成到react本机应用程序中,该应用程序也是项目的一部分。基本上,我的服务器是卡夫卡制作人,应用程序需要收听主题并成为消费者 起初,我尝试使用这个npm包。 但此包依赖于不属于React Native bundle的NodeJ核心模块。有没有其他方法可以让我在React原生应用程序中使用Kafka进行通信? 谢谢 一个快速的解决方案是将Kafka集群放在一个简单的RESTAPI后面。使用类似的库可能是使用内置的fetch功能连接React本机应用程序的简单方法。您

我在我的项目中使用过,需要将其集成到react本机应用程序中,该应用程序也是项目的一部分。基本上,我的服务器是卡夫卡制作人,应用程序需要收听主题并成为消费者

起初,我尝试使用这个npm包。
但此包依赖于不属于React Native bundle的NodeJ核心模块。有没有其他方法可以让我在React原生应用程序中使用Kafka进行通信?
谢谢

一个快速的解决方案是将Kafka集群放在一个简单的RESTAPI后面。使用类似的库可能是使用内置的
fetch
功能连接React本机应用程序的简单方法。您可以更进一步,尝试将客户端集成到您的React本机应用程序中;对回购协议的粗略概述不会导致任何核心节点依赖关系

另一种允许“实时”更新的方法可能包括将Kafka放在将Kafka流转换为WebSocket连接的web服务器后面。诸如的库允许客户端同时消费和生成消息,而像Microsoft这样更简单的库只允许消费消息

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

试试看


它是一个实时套接字服务器,与React Native和Kafka很好地集成。它可以使用Kafka作为消息代理在分布式Deepstream节点之间通信消息,并将消息推送到其他订阅的客户端。它们是开源的,因此您可以根据自己的具体需要配置连接器。

非常感谢您的回复!对于Kafka来说,使用REST包装器当然是可行的。但在这种情况下,我也需要不断地从我的react本机应用程序对Rest包装器服务器进行Rest调用。(或者你可以说,投票)然而,这将超越卡夫卡的目的,因为不会有任何酒吧/酒吧架构。我不希望我的应用程序一个接一个地发出请求
kafka rest节点
在内部使用
kafka native
,因此我们也不能使用它。@MustansirZia我已更新了答案以反映您的担忧。感谢您的关注!在这两者之间安排一个经纪人是太多的工作和不必要的复杂性。我选择了DeepStream,因为它只是为了满足我的需要。哇!我刚读了你的评论。我应该告诉你,我做了完全相同的事情,并遵循完全相同的解决方案。它就像一个符咒,我唯一不喜欢Deepstream的地方就是卡夫卡中的承诺的非持久性。仍然将此答案标记为正确。顺便说一句,链接已关闭