Horizontal scaling with SignalR app

у меня есть приложение asp net core signal в docker swarm с redis

Мне время от времени нужно проверять, подключен ли указанный юзер в signalR

С помощью только 1 реплики я могу создать такой список

public static readonly List<string> Connected = new();

Туда и буду добавлять или удалять юзера через OnConnectedAsync и OnDisconnectedAsync

Но когда я делаю масштабирование, этот метод больше не работает

Вопрос: как мне проделать такой трюк?

я читал https://docs.microsoft.com/ru-ru/aspnet/signalr/overview/guide-to-the-api/mapping-users-to-connections

и мне нравится реализация через базу данных, но я могу понять, как мне убирать соединение при краше сервеа

Например 2 сервера, 1 redis, 1 бд с подключением- По идее все ок, но если 1 сервер упал, он не не триггернет OnDisconnectedAsync и поэтому в бд будут старые неактуальные соединения


Ответы (0 шт):