node.js - 使用 nodejs 查询 Kafka 主题
问题描述
我有点疑惑。是否真的没有 NodeJS API 来查询 Kafka 主题(例如,与 Kafka Streams 和 Java API 一样)?我错过了什么吗?
只是为了弄清楚这一点。仅被通知主题的最新事件/记录对我来说是不够的。我想查询和处理主题的记录 - 然后可能将聚合存储到另一个主题。
感谢您的想法,如果这仅适用于 nodejs 和库。
解决方案
这对我有用,大多数人都在使用。
有限的解决方案
如果你很固执并且想坚持使用 node.js 库来为你打包:https ://nodefluent.github.io/kafka-streams/docs/
截至今天,他们提供:
- 轻松访问流
- 合并流
- 拆分流
完整的解决方案
最简单的方法(从今天开始 - 有传言说 Confluent 正在创建更多库,还有一个用于 nodejs)可以通过REST API查询 kafka 。它是 ksqlDB 的一部分,而 ksqlDB 是 confluent 平台的一部分,该平台还附带 Zookeeper 和您可能已经拥有的 Kafka 实例。如果您想知道如何安装:
它使用docker yml 文件在 1 分钟内启动。
跑
docker-compose up -d
查看运行的端口和服务
docker ps
只需发送一个 GET 请求到
http://0.0.0.0:8088/
. 它将返回服务信息。{ "KsqlServerInfo": { "version": "6.2.0", "kafkaClusterId": "uOXfee3zQ76vCKBbREw1yg", "ksqlServiceId": "default_", "serverStatus": "RUNNING" } }
希望你们中的一些人从最初的研究中剥离出来。而且....如果我们幸运的话,很快就会有一个包装库。
然后根据您的主题创建一个流,瞧。您已准备好使用REST API查询您的主题(通过流) 。由于 REST API 提供 HTTP2,因此人们还可以期望对流中新到达的记录进行持续更新。为此应用推送查询。拉取查询将在结果交付后切断线路。
推荐阅读
- android - 如何在没有连接的情况下显示消息
- amazon-web-services - 将 CORS 选项添加到 AWS websocket API 网关
- google-analytics - Google Analytics - 它适用于内部应用程序吗?
- sql - 根据列使用不同的值更新表
- python - 无法连续计算实例数
- javascript - 我想禁用网站检查焦点的功能
- node.js - 使用 React Helmet 进行服务器端渲染
- python-3.x - 打包kivy应用时将设置配置文件添加到exe
- php - SQLite FTS5 通过 PHP/PDO - 如何在过滤列名时绑定值?
- python - 如何自动安装最常用的python包?