В настоящее время я работаю над многопользовательской игрой, которая будет использовать две базы данных (MONGODB). Один для аутентификации (логин) и один, чтобы содержать все данные, относящиеся к игре. Что я сделал, так это отделить данные пользователя и игры. Таким образом, я смогу в будущем создавать микросервисы вокруг пользователя.Управление несколькими базами данных
Я немного не уверен в том, как обрабатывать/проверять действия базы данных конкретной игры. Когда я вхожу в мою игру, я выполняю POST-запрос моему отдыху api, который проверяет пользователя и возвращает некоторые данные.
Сама игра, однако, использует соединение сокетов TCP для обработки игрового процесса в реальном времени и будет сохранять данные о конкретной игре в базе данных на авторитетном сервере (вся логика игры выполняется на сервере). Как вы собираетесь связать данные в конкретной игре с конкретным пользователем, найденным в базе данных аутентификации?
У пользователей есть идентификаторы, не так ли? Поэтому сохраните идентификатор пользователя. –
Я не могу получить доступ к идентификатору, найденному в db аутентификации из конкретного игрового db, если я не отправлю его через клиент, а это значит, что клиент сможет изменить идентификатор или я ошибаюсь ?. – JSjuniorlad
Сохраните его в защищенном от несанкционированного доступа формате. Как зашифрованные файлы cookie в браузерах. Ваш сервер auth генерирует данные auth, шифрует его открытым ключом игрового сервера и возвращается клиенту. Клиент отправляет это непрозрачное значение с каждым запросом. Игровой сервер расшифровывает его своим личным ключом и извлекает идентификатор пользователя. Или вы можете использовать симметричный крипто здесь, для скорости. –