如何在 cljs 应用程序中实现 kafka 消费者? [重复]

问题描述 投票:0回答:1

我正在开发一个项目,该项目涉及在我的应用程序中实现 Kafka 消息传递总线和 SQS 以实现弹性。后端服务是用 CLJ 开发的,前端脚本是用 CLJS 开发的。我已经在后端服务中成功实现了 Kafka 生产者,但现在我需要在前端应用程序中实现 Kafka 消费者。前端应用程序是一个基于浏览器的应用程序,使用 ClojureScript 代码作为脚本,并使用 Boot 构建工具构建。

我面临的问题是,在 CLJS 中没有完美的库来构建 Kafka 客户端。我考虑过使用 Cljsjs 包装 JavaScript 库并将其用于我的应用程序,但我在为包创建 extern 文件时遇到困难。我特别尝试使用 kafkajs 2.2.4 库,可以在这里找到:https://github.com/tulios/kafkajs

我知道我可以使用shadow-cljs,但是由于前端已经在Boot中开发并且正在生产中,所以放弃Boot会很麻烦。有什么方法可以在 Boot 中使用 Shadow-cljs 吗?我知道shadow-cljs可以与Boot集成,但是Boot集成的文档不完整。

如果您能帮助我为 JS 库创建 extern 文件,或者获得有关将 Shadow-cljs 与 Boot 集成的指导,我将不胜感激。

提前致谢!

apache-kafka clojure clojurescript shadow-cljs cljsjs
1个回答
2
投票

答案仍然与您的最后一个问题相同。 Kafka 不是前端技术,您提到的库特别指出“适用于 Node.js 的现代 Apache Kafka® 客户端”。无论使用哪种构建工具,它都不会在浏览器中运行。

从前端直接与 Kafka 对话在多个层面上似乎都是一个坏主意。也许你想实现某种中继机制,以便你的后端充当中间人,将消息从 kafka 传输到你的前端并返回。

© www.soinside.com 2019 - 2024. All rights reserved.