Я использую SignalR 1.0.4 и имею концентратор, который возвращает ChannelReader, созданный из наблюдаемого расширением .
Клиент машинописного текста (также 1.0.4) вынужден подключаться только через веб-сокеты, и данные из этого канала в порядке.
Сейчас я тестирую масштабирование, используя 2 экземпляра концентратора, оба из которых используют одно и то же соединение Redis. Я испускаю значения из наблюдаемого канала в обоих случаях, но клиент, похоже, получает данные только от экземпляра, к которому он подключен. Мой вывод таков: данные программы чтения каналов не передаются на другие каналы через Redis.
Я попытался воспроизвести это с помощью SignalRSamples , реплицировав проект и предоставив копии различных IP-адресов хоста для эмуляции 2 экземпляров с балансировкой нагрузки. Я добавляю одно и то же соединение Redis к обоим проектам и запускаю оба.
Обычные подключения к веб-сокетам через hubs.html без проблем передают данные между экземплярами. Streaming.html не реплицирует данные для наблюдаемого или читателя канала.
Должны ли считыватели каналов использоваться таким образом, т. Е. Могут ли они масштабироваться?