Я использую ASP.NET MVC и С#. Я нашел SignalR для передачи данных в реальном времени, но signalR имеет некоторые ограничения.
в соответствии с проблемой для этого:
Используя объединительную плату, максимальная пропускная способность сообщения ниже, чем когда клиенты разговаривают напрямую с одним сервером node. Это потому, что объединительная плата пересылает каждое сообщение на каждый node, поэтому объединительная плата может стать узким местом. Является ли это ограничение проблемой, зависит от приложения. Например, вот некоторые типичные сценарии SignalR:
- Передача сервера (например, биржевой тикер): объединительные платы работают хорошо для этого сценарий, поскольку сервер контролирует скорость, с которой отправлено.
- Клиент-клиент (например, чат): в этом случае объединительная плата может быть узким местом, если количество сообщений масштабируется с количеством клиенты; то есть, если скорость сообщений растет пропорционально больше клиентов присоединяется.
- Высокочастотное реальное время (например, игры в реальном времени): объединительная плата не является рекомендуется для этого сценария.
Мой проект нуждается в высокочастотном реальном времени (например, в играх реального времени).
Также мне нужен видеочат в реальном времени
Мой сценарий:
У меня есть сервер Master и несколько подчиненных серверов, клиенты подключаются к подчиненным серверам, а подчиненные серверы подключаются к главному серверу.
Пример: Сервер Slave-1 и сервер Slave-2, подключенный к главному серверу, клиент-A и клиент-B, подключенный к Slave-1, клиент-C и клиент-D, подключенный к ведомому-2,
client-A отправить сообщение или данные или в реальном чате с клиентом-D
Как я могу реализовать этот сценарий?
[Update-1]
Если я не использую signalR для этой проблемы, то что я должен использовать?
[Обновление-2]
В моем сценарии главный сервер действует как маршрутизатор, а подчиненный сервер действует как коммутатор. Клиенты, подключенные к коммутатору и коммутатору, подключенному к маршрутизатору. Если клиент-A отправляет пакет данных на клиент-C, пакет данных должен быть отправлен на пакет данных с маршрутизатором и маршрутизатором. В 2000 году возможно количество ведомых серверов и количество пользователей для каждого сервера это более 10 000.
Спасибо.