【问题标题】:Query a Kafka Topic with nodejs使用 nodejs 查询 Kafka 主题
【发布时间】:2021-11-16 02:51:47
【问题描述】:

我有点困惑。是否真的没有 NodeJS API 来查询 Kafka 主题(例如,与 Kafka Streams 和 Java API 一样)?我错过了什么吗?

只是为了弄清楚这一点。仅被通知主题的最新事件/记录对我来说是不够的。我想查询和处理主题的记录 - 然后可能将聚合存储到另一个主题。

感谢您的想法,如果这仅适用于 nodejs 和库。

【问题讨论】:

标签: node.js express apache-kafka nestjs


【解决方案1】:

这对我有用,大多数人都在使用。

有限的解决方案

如果你很固执并且想坚持使用 node.js 库来为你打包:https://nodefluent.github.io/kafka-streams/docs/

截至今天,他们提供:

  • 轻松访问流
  • 合并流
  • 分流

完整的解决方案

最简单的方法(从今天开始——有传言说 Confluent 正在创建更多库,还有一个用于 nodejs)可以通过REST API 查询 kafka。它是 ksqlDB 的一部分,而 ksqlDB 是 confluent 平台的一部分,该平台还附带 Zookeeper 和您可能已经拥有的 Kafka 实例。如果您想知道如何安装:

  1. 使用docker yml file 会在 1 分钟内启动。

  2. 运行docker-compose up -d

  3. 查看使用docker ps运行的端口和服务

  4. 只需向http://0.0.0.0:8088/ 发送 GET 请求,即可开始从 REST API 请求状态。它将返回服务信息。

     {
         "KsqlServerInfo": {
             "version": "6.2.0",
             "kafkaClusterId": "uOXfee3zQ76vCKBbREw1yg",
             "ksqlServiceId": "default_",
             "serverStatus": "RUNNING"
         }
     }
    

希望你们中的一些人从最初的研究中脱颖而出。而且....如果我们幸运的话,很快就会有一个包装库。

然后根据您的主题创建一个流,瞧。您已准备好使用REST API 查询您的主题(通过流)。由于 REST API 提供 HTTP2,因此人们还可以期望对流中新到达的记录进行持续更新。为此应用推送查询。拉取查询将在结果交付后切断线路。

【讨论】:

    猜你喜欢
    • 2020-04-21
    • 2016-06-13
    • 2020-02-26
    • 2019-06-17
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    相关资源
    最近更新 更多