3

最新版本的 IBM Message Bus 是否支持 Kafka Streams(此处描述:http: //www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple/)。有关如何执行此操作的任何示例/示例?如果是,这可以用 node.js 完成吗?

我想做的是

  1. 将数据从源数据库 (Cloudant) 流式传输到 Kafka 流(Bluemix 中存在连接器服务 - BETA 服务)

  2. 使用 Kafka Streams 聚合数据(摘要、计数等)

  3. 一个 Web 仪表板应用程序 - 前端(Node.JS、D3.JS)使用流并实时更新仪表板。

谢谢

4

1 回答 1

9

您绝对可以使用 node.js 发布和订阅 Kafka(又名 IBM MessageHub),并且可以在各种仪表板中可视化 Kafka 数据。最近我一直在使用 Node-Red 以及 node-red-dashboard 和 node-red-contrib-web-worldmap,效果很好。

nodejs 应用程序的发布/订阅可以通过 Confluent REST 代理(IBM MessageHub 使用)或通过本机 node.js 客户端(如暴雪在 librdkafka 之上编写的客户端)完成(参见https://github.com/blizzard/节点 rdkafka)。Confluent 编写了一些 nodejs 包装器函数,以便更轻松地使用 REST 代理(请参阅https://github.com/confluentinc/kafka-rest-node

就 Kafka Streams 而言,目前支持的主要语言是 Java 和 Scala。您可以毫无问题地将 Javascript 中的节点客户端与 Java 中的 Streams 应用程序混合使用。Kafka Streams 仅作为一个 Java 库实现,因此您的流应用程序肯定会在 Bluemix 中的虚拟机或容器中运行,并且它们不需要任何额外的集群管理器或第三方基础架构。

更新:IBM 宣布 MessageHub 现在支持 Kafka Streams

https://developer.ibm.com/messaging/2017/06/28/messagehub-now-runs-kafka-0-10-2-1-supports-streams/

于 2016-09-15T06:39:00.697 回答