需要在我的react native应用程序中使用apache kafka

sdnqo3pr  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(501)

我在我的项目中使用了apachekafka,需要将它集成到react本机应用程序中,react本机应用程序也是项目的一部分。基本上,我的服务器是一个Kafka生产者和应用程序需要听主题和成为消费者。
起初,我尝试使用这个npm包。https://github.com/sohu-co/kafka-node.
但是这个包依赖于nodejs的核心模块,这些模块不是react本机包的一部分。有没有其他方法可以让我在react本地应用程序中使用kafka进行通信?谢谢!

jk9hmnmh

jk9hmnmh1#

一个快速的解决方案是将kafka集群放在一个简单的restapi后面。使用像kafkarest这样的库可以很容易地使用内置的 fetch 功能。您可以更进一步,尝试将kafka rest节点客户端集成到您的react本机应用程序中;对repo的粗略概述不会导致任何核心节点依赖性。
另一种允许“实时”更新的方法可能是将kafka放在web服务器后面,该服务器将kafka流转换为websocket连接。像kafka-websocket这样的库允许客户端使用和生成消息,而像microsoft的kafka-proxy-ws这样更简单的库只允许使用消息。
值得注意的是,移动客户端并不总是能够很好地处理流数据,建议您在各种不确定的网络条件(延迟、信号丢失等)下测试基于websocket的实现。

i34xakig

i34xakig2#

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

相关问题