angular.js 与 apache kafka 的集成

Posted

技术标签:

【中文标题】angular.js 与 apache kafka 的集成【英文标题】:angular.js integration with 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 服务器并批量接收数据?

【问题讨论】:

【参考方案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 实现。我可以将其用于我的目的吗?

以上是关于angular.js 与 apache kafka 的集成的主要内容,如果未能解决你的问题,请参考以下文章

弹性集成Apache Mesos与Apache Kafka框架

重写 apache 2 的规则以与 angular js 一起使用

Kafka 与 Apache Pulsar 相比都有哪些优缺点 [关闭]

kafka发送消息与消费消息

是否可以配置KafkaConsumer(apache.kafka.kafka-clients)以通过代理与Kafka经纪人一起使用?

融合平台与 apache kafka [关闭]