【问题标题】:angular.js integration with apache kafkaangular.js 与 apache kafka 的集成
【发布时间】:2017-04-02 23:11:52
【问题描述】:

我是 apache kafka 和 apache spark 的新手。我想将 kafka 与我的 angularjs 代码集成。基本上我想确保,当用户点击任何链接或搜索我网站上的任何内容时,这些搜索和点击应该作为事件触发并将其发送到 kafka 数据管道以供分析使用。 我的问题是如何将 angular.js 中的前端代码集成到 apache kafka? 我可以使用 kafka 管道将搜索和单击流数据直接发送到 apache spark 还是需要将这些数据发送到 kafka 并且 apache spark 会轮询到 kafka 服务器并批量接收数据?

【问题讨论】:

    标签: angularjs node.js apache-spark apache-kafka message-queue


    【解决方案1】:

    我认为(只是一目了然)没有用于前端 JavaScript 的 Kafka 客户端。当数百万生产者(每个客户端的浏览器)写入同一个 Kafka 主题时,我实际上无法想象稳定的设置。 你需要在 Angular 中做的是调用你的服务器端函数来在 Kafka 中记录你的事件。 服务器端代码可以用多种语言编写,包括 node.js 的 JavaScript。 请通过Kafka Documentation查看可用客户

    2019 年更新:有 several 项目为生产者和消费者接口实施 REST over HTTP(s) 代理。例如Kafka Rest 项目 (source)。不过,我自己从来没有尝试过这些。

    【讨论】:

    • 我确实看到了,用于 node.js 的 Kafka-node,但是我正在寻找 angular.js 的客户端插件。由于 kafka 是可扩展的,所以我想确保每个客户端(即生产者)都连接到同一个主题。
    • Kafka 是为可持续的数据流进入主题而构建的,而不是为数百万个打开/关闭的连接而构建,这将在客户端获取场景中。您可以为此准备非常简单的可行性测试。结果会很有趣。
    • 所以,基本上没有办法,我们可以使用 angular.js 实现 kafka 客户端。我们需要将 REST 调用从 Angular 发送到 node.js 中的路由处理程序,而后者又将充当 kafka 生产者。它会使用 kafka 数据管道将数据发送到将成为消费者的 apache spark,还是使用 kafka 数据管道将数据发送到 apache kafka 服务器?
    • 实际上,您可以从 Angular 中的控制器调用一些 websocket 实现,这样您就可以通过单个 TCP 连接获得全双工通信通道。但是你仍然需要一个后端来设置 websocket 并委托给 Kafka。
    • 我想将 REST 调用从我的角度发送到 kafka 服务器。那可能吗。如果是,那么您能否告诉我可以使用的 REST 服务的名称。 docs.confluent.io/1.0/kafka-rest/docs/intro.html 。我有这个 kafka-rest 实现。我可以将其用于我的目的吗?
    猜你喜欢
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2019-09-18
    • 2015-07-29
    • 2017-01-23
    相关资源
    最近更新 更多