2
在我的項目中,我必須設計一個實時通知系統。我做了下圖。Kafka和NodeJS的實時通知
你可以看到,我用卡夫卡作爲隊列郵件系統,並且對的NodeJS建立的WebSocket服務器和卡夫卡的消費者。 生產者將收集通知數據並將其推送給Kafka。如果數據屬於該用戶,消費者將閱讀並處理來自Kafka的數據並通過websocket將其推送給客戶端。
通過上面的架構師,每個在線用戶將打開一個Websocket連接並創建一個新的Consumer。這意味着如果有100K用戶在線,我們必須擁有10萬用戶。
所以我的問題是上面的設計是一個實時通知系統的正確設計?你有什麼不同的想法嗎?如果我有100K消費者,有什麼問題嗎?
EDITED
它不應該打開太多的消費者。它能夠與消費者和websockets一起工作