Возможна ли такая архитектура игрового сервера?

Здравствуйте. Предположим есть следующая архитектура игрового сервера для пошаговой мультиплеерной игры, наподобие Heroes of Might and Magic.

3c8381f6a79649ccbbe27111205c40fc.png

Нексолько вопросов:

1. Каждый клиент устанавливает сокет соединение с load balancer на один общий порт? К примеру все клиенты цепляются к адресу и порту 198.1.1.1:3566 load balacner'а и шлют туда пакеты
2. К примеру поступает запрос через сокет от клиента к load balancer. Load balancer в свою очередь смотрит какой из игровых серваков наименее загружен и перенаправляет запрос. Чтобы load balancer'у перенеправить этот запрос на сервер ему надо так же устанавливать сокет соединение с игровым сервером?
3. Игровой сервер это обычный vps? Или чаще используют физический сервер?
4. Для load balancer'а нужен отдельный сервер? VPS не подойдет?

Thanks in advance
  • Вопрос задан
  • 571 просмотр
Решения вопроса 1
@aleks_raiden
В общем случае - да.

1 - да. Хотя могут быть системы с балансировкой по DNS. Для примера, клиент при старте получает список гейм-серверов или даже один, и идет напрямую к нему, периодически обновляя список. Если сервер падает, клиент может сам пойти на другой.

2 - Да, балансер поддерживает соединение с бекендами. Однако, есть много ньюансов, в зависимости от используемого протокола.

3 - в общем случае - это сервис или набор сервисов (инстансов). Как это организовано на физическом уровне - докер-инстанс или VPS или железная машина или несколько - очень специфично под проект и его требования и возможности. В общем случае - отдельный инстанс VPS

4. Это обычный сервер (инстанс/VPS), в основном нагруженный по сетевой части (кстати, балансеры тоже хорошо бы резервировать).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы