Size: a a a

2020 July 22

ИМ

Иван Михейкин... in Go-go!
А в смысле в pet проекте не применим Prometheus? Это же pet проект, тут можно всё что угодно, к чёрту ограничения 🙂
источник

с

сонная википедия... in Go-go!
ну  так метод Add
источник

AA

Andrey Ashurko in Go-go!
ребят, кто как с Centrifugo ловит дисконнекты на бэкэнде?
кейс такой: нужно игровую сессию на дисконнект убивать
источник

⛪️Поп Гапон⛪️... in Go-go!
Andrey Ashurko
ребят, кто как с Centrifugo ловит дисконнекты на бэкэнде?
кейс такой: нужно игровую сессию на дисконнект убивать
Так если клиент ничего не отправляет то отрубаешь и все
источник

AA

Andrey Ashurko in Go-go!
⛪️Поп Гапон⛪️
Так если клиент ничего не отправляет то отрубаешь и все
не понял, клиент может с открытой вкладкой сидеть и команды не отправлять, но за ним должна быть занята комната к примеру
источник

AA

Andrey Ashurko in Go-go!
клиент закрыл вкладку, мне на бэке нужно асап убить сессию и показать другим что комната свободна
источник

ВС

Владимир Столяров... in Go-go!
там же был ondisconnect обработчик
источник

⛪️Поп Гапон⛪️... in Go-go!
Andrey Ashurko
не понял, клиент может с открытой вкладкой сидеть и команды не отправлять, но за ним должна быть занята комната к примеру
У меня клиент пингует просто
источник

AA

Andrey Ashurko in Go-go!
⛪️Поп Гапон⛪️
У меня клиент пингует просто
частота нужна слишком высокая, секунды не хватит
источник

AA

Andrey Ashurko in Go-go!
потому что на рефреш требуют чтобы клиент уже видел что он вылетел из комнаты и смог занять повторно
источник

AA

Andrey Ashurko in Go-go!
Владимир Столяров
там же был ondisconnect обработчик
"там" это где ты имеешь в виду?
источник

⛪️Поп Гапон⛪️... in Go-go!
Andrey Ashurko
"там" это где ты имеешь в виду?
В брузере
источник

ВС

Владимир Столяров... in Go-go!
Andrey Ashurko
"там" это где ты имеешь в виду?
в centrifuge
источник

⛪️Поп Гапон⛪️... in Go-go!
А как она понимает что клиент все?
источник

AA

Andrey Ashurko in Go-go!
может все же есть какой-нибудь костыль через pub/sub к редису (в случае если он выбран как engine)?
источник

⛪️Поп Гапон⛪️... in Go-go!
Центрифуга через вебсокет работает?
источник

AA

Andrey Ashurko in Go-go!
⛪️Поп Гапон⛪️
Центрифуга через вебсокет работает?
я на этапе выбора переходить ли на нее вообще, сейчас самописный гошный вебсокет сервер, который не скейлится никак

поэтому можно хоть сокс хоть вебсокет
источник

⛪️Поп Гапон⛪️... in Go-go!
У меня просто вебсокет обычный, на клиенте жс, и тупа каждый кадр читаю сервером, если после отправки пустой ответ, то обрабатываю дисконнект.
источник

AA

Andrey Ashurko in Go-go!
⛪️Поп Гапон⛪️
У меня просто вебсокет обычный, на клиенте жс, и тупа каждый кадр читаю сервером, если после отправки пустой ответ, то обрабатываю дисконнект.
ну так у тебя centrifuge как либа используется, а я хотел как отдельный сервис запустить и проксировать на бэк
источник

AE

Alexander Emelin in Go-go!
Andrey Ashurko
ну так у тебя centrifuge как либа используется, а я хотел как отдельный сервис запустить и проксировать на бэк
Centrifugo не позволяет отлавливать события дисконнекта. Основная причина - их нереально отправить надежно. Например, если сервер вырубят с kill -9, или просто машина потеряется - приложение не получит событий о дисконнектах. Если на них заложить бизнес логику то останутся stale данные. В случае работы с постоянными долгими соединениями единственный способ надежно что-то делать - это полагаться на периодический пинг с клиента или сервера пока соединение живет. Второй момент - так как дизайн предполагает работу с миллионами соединений, то честно говоря шквал дисконнектов например при релоаде балансера вряд ли кому нужен. Лучше уж с долей аппроксимации размазать нагрузку от редких периодических пингов с клиента. Возможно через очереди это можно было бы смягчить - но смотри пункт 1. В библиотеке есть OnDisconnect обработчик - но на нем примерно такой же коммент написан,
источник