авторизации (+администрирования) в игру через "главное API". Но игровых серверов может быть от 2х до n.
Цель: главное API передаёт (например) название метода и аргументы на "gameserver" и там уже происходит отработка и ответ (успех+данные/нет)
Иногда нужно и в обратную сторону также передать данные.
Уже как-то пилил такую реализацию RPC с MassTransit (RabbitMQ), но настройка сервера, очередей, как-то очень муторно. Или это правильный вариант?
Просто особо не вникал в gRPC и не вникал как у людей сервера общаются
Илья в своё время классно подсказывал. Куда он пропал? Или тут уже давно все чисто на лайтах сидят?
может нет в онлайне щас, да и конечно на лайте, если кто знает то ответит. Но у тебя вопрос типа "бля я не вникал, так правильно или расскажите мне все пж". Но насколько я понял тут не много гейдевов
Вопрос достаточно конкретный и вообще не касается геймдева, подробности только для ясности взаимодействия. Вопрос прост: как микросервисам/серверам общаться между собой, когда они на разных серверах. Только оптимальный вариант под ситуацию, а не тупо "REST ебаш" "Не вникал" я только в gRPC, это один из МНОЖЕСТВА вариантов которые я не могу знать или найти. Потому сюда и задал вопрос.
Можно сделать чтоб клиент просто делал запрос на мейн инстанс, потом отсылал ответ на нужный сервер, потом клиент у человека отрисовывает что получил. Кролик врядли тут подойдёт, тем более если захочешь дальше масштабироваться. Также Кафка была бы лучше из соображений оптимизации затрачиваемых ресурсов и из-за того что у тебя будет (я полагаю) много евент емитеров которые будут стримом что-то отсылать Grpc отличный транспорт тут, можешь ещё посмотреть в сторону протобафа Делать общение чисто на ресте это тупик мне кажется, ты просто упрешься в ограничения реста
Посидел, обдумал несколько раз: 1. Можно на обоих сторонах реализовать REST тупо на http c фильтом ip откуда прилетает запрос. 2. Почему? В основном этом синхронные запросы: [mainAPI | получить список подробный персонажей игрока: id,наказания,деньги,предметы]->[gameServer | где будет описан метод работы с БД этого игрового сервера]. Такие же запросы могут быть - выдать деньги, кикнуть игрока и т.п. 3. Кафку можно позже реализовывать, если нужно будет постоянно получать логи с серверов или что-то в этом роде. (много информации) 4. REST запросов думаю не больше 10к одновременно может быть от пользователей: авторизация, регистрация, получения списка файлов, получения ссылок для скачивания файлов, получения списка персонажей, выход. Между серверами только: получить токен для входа в игру + команды для администраторов (манипуляции с персонажами игроков) нормальный же подход?
Обсуждают сегодня