Игровой сервер: что там внутри? Архитектуры, масштабируемость
Многие мобильные игры работают с использованием сервера. Причем серверная логика может быть достаточно сложной, требования к онлайну игры могут быть в десятки тысяч конкурентных пользователей. Как написан такой сервер? Какие технологии используются при его разработке?
В докладе я расскажу:
- что вообще должен делать типичный игровой сервер, из каких частей он состоит;
- на каких технологиях мы остановились для разработки игровых серверов (спойлер: Vert.X Hazelcast, Postgres, Kafka, Prometheus + Grafana, Consul, Photon Cloud);
- как мы их используем (спойлер: не все по прямому назначению);
- каким образом мы устанавливаем обновления;
- несколько интересных ошибок, которые мы словили при работе с Vert.X и Hazelcast.
На таком стеке технологий нами успешно запущены несколько игровых проектов, но я думаю, что доклад будет интересен не только разработчикам из игровой индустрии.
Старший программист в студии IT Territory (одна из студий игрового направления Mail.ru Group). Занимается разработкой backend'а к компьютерным играм более 8 лет.