В моем проекте я должен разработать систему уведомления в реальном времени. И я сделал это как изображение ниже.Уведомление в реальном времени с Kafka и NodeJS
Вы можете видеть, что я использовал Кафку как система очередей сообщений, и NodeJS строить WebSocket сервер и Кафку потребителей. Производители собирают данные уведомления и подталкивают их к Кафке. Потребители будут читать и обрабатывать данные от Kafka и переносить их на клиент через websocket, если эти данные принадлежат этому пользователю.
С архитектором выше, каждый пользователь сети откроет соединение с Websocket и создаст нового Потребителя. Это означает, что если в онлайн-режиме 100 тыс. Пользователей, у нас должно быть 100 тыс. Потребителей.
Итак, мой вопрос в том, что дизайн, приведенный выше, является правильным дизайном для системы уведомления в реальном времени? У вас есть другая идея? Есть ли проблема, если у меня есть 100K Consumer?
EDITED
Он не должен открывать слишком много потребителей. Он может работать с потребителем и веб-сайтами.