сервис хранит ws-соединения в мапе под мьютексом и проверяет соединение с клиентом с помощью ping/pong с определенным интервалом. Возникла необходимость поднять несколько инстансов таких сервисов и тут возникает проблема, что у каждого свое состояние, необходимо поднять инстансы так, чтобы для клиентов это осталось неизменным. Как быть, куда смотреть, что посоветуете? Слышал про центрифугу, но можно ли ее вкрутить так, чтобы клиенты этого не почувствовали?
Здесь про это написано https://habr.com/ru/company/oleg-bunin/blog/522744/ Интересная статья
Если я правильно понял, то в статье предполагается, что клиенты (мобилки и веб) подписываются напрямую на центрифугу. Верно ли я понял, что в моем кейсе будет адекватно, если N-ое кол-во экземпляров моих сервисов при создании websocket-соединения с клиентом будут подписываться на нужный топик центрифуги и будут также играть в ping/pong с клиентом и в случае, если клиент отвалился будут отписываться от топика?
кто с centrifugo работал?
Можете прямо автора тегать, он тут отвечает
Там папочка с примерами есть. А, будет время, рассмотри вариант с gRPC, ты же чатик ваяешь?
Обсуждают сегодня