2
在我的项目中,我必须设计一个实时通知系统。我做了下图。Kafka和NodeJS的实时通知
你可以看到,我用卡夫卡作为队列邮件系统,并且对的NodeJS建立的WebSocket服务器和卡夫卡的消费者。 生产者将收集通知数据并将其推送给Kafka。如果数据属于该用户,消费者将阅读并处理来自Kafka的数据并通过websocket将其推送给客户端。
通过上面的架构师,每个在线用户将打开一个Websocket连接并创建一个新的Consumer。这意味着如果有100K用户在线,我们必须拥有10万用户。
所以我的问题是上面的设计是一个实时通知系统的正确设计?你有什么不同的想法吗?如果我有100K消费者,有什么问题吗?
EDITED
它不应该打开太多的消费者。它能够与消费者和websockets一起工作