anycable / anycable-go

AnyCable real-time server
https://anycable.io
MIT License
375 stars 65 forks source link

Stability of the rpc instance #74

Closed alekseyl closed 5 years ago

alekseyl commented 5 years ago

вопрос: как быть с автохилом rpc? в случае когда у нас это рельсы под пумой, там проблем нет, пума их как бы лечит сама, но rpc инстанс сам по себе, и если он ляжет то вся система сломается.

И еще момент, хелс респонс от anycable-go не учитывает, доступность для него rpc, если rpc по каким-то причинам недоступен для anycable-go, и это не будет отражено в хелс респонсе.

palkan commented 5 years ago

rpc инстанс сам по себе, и если он ляжет то вся система сломается.

Для RPC нужно использовать стандартные системные средства (monit, systemd и т.д.).

хелс респонс от anycable-go не учитывает, доступность для него rpc, если rpc по каким-то причинам недоступен для anycable-go, и это не будет отражено в хелс респонсе.

У RPC есть свой health check: https://docs.anycable.io/#/health_checking?id=http

Это не покрывает 100% всех сценариев (есть вероятность, что оба сервера работают, но "связи" нет), но компенсируется инструментацией; например, мы мониторим аномалии в rpc_error_total — это точнее проверки на доступность, так как может быть вызвано и проблемами на уровне приложения.)

Более гибкий health check в любом случае не помешает. Записал в бэклог: https://github.com/orgs/anycable/projects/1#card-23149548

palkan commented 5 years ago

Closed in favor of https://github.com/orgs/anycable/projects/1#card-23149548