【问题标题】:Real time notification with Kafka and NodeJS使用 Kafka 和 NodeJS 进行实时通知
【发布时间】:2016-01-12 20:00:15
【问题描述】:

在我的项目中,我必须设计一个实时通知系统。我按照下图做了。

您可以看到我使用 Kafka 作为队列消息传递系统,使用 NodeJS 构建 Websocket Server 和 Kafka Consumers。 生产者将收集通知数据并将其推送到 Kafka。如果数据属于该用户,消费者将读取和处理来自 Kafka 的数据并通过 websocket 将其推送到客户端。

通过上面的架构师,每个在线用户都会打开一个 Websocket 连接并创建一个新的 Consumer。这意味着如果有 10 万用户在线,我们必须有 10 万消费者。

所以我的问题是上面的设计是实时通知系统的正确设计吗?你有什么不同的想法吗?如果我有 100K 消费者,有什么问题吗?

已编辑

它不应该打开太多的消费者。它能够与消费者和 websockets 一起使用

【问题讨论】:

    标签: node.js websocket notifications apache-kafka consumer


    【解决方案1】:

    您的设计是正确的,如果您想始终与每个客户保持联系,那么您将必须保持与客户数量相同的client-websocket;但是对于连接的客户端,消费者不必增加;因为它们可以在不同的client-websockets 之间共享。

    这取决于您的应用程序以及您想要处理它的方式。

    【讨论】:

      猜你喜欢
      • 2016-09-17
      • 2017-04-16
      • 2018-12-12
      • 1970-01-01
      • 2015-09-11
      • 2022-01-25
      • 1970-01-01
      • 2018-01-29
      • 2015-11-01
      相关资源
      最近更新 更多