Я решил использовать докер с node-js и mongoDB для создания игры и установить все разделы моей игры (битвы, чаты, ресурсы и т. Д.) На разные серверы, чтобы каждый раздел имел свои собственный процесс, потому что, например, мой сервер ресурсов будет работать много, поскольку он будет выполнять все вычисления ресурсов каждого пользователя каждую секунду и будет обрабатывать запросы с других серверов, например, если у пользователя достаточно ресурсов для построения здания или как много ресурсов игрок проиграет, если атакует и т. д.mongoDB несколько экземпляров или несколько баз данных
Для моих альфа-и бета-версий я планирую запустить один сервер, который будет запускать все разделы моей игры, но так, как я делаю это сейчас, каждый раздел имеет свой собственный экземпляр mongodb, поэтому у меня есть ресурсыDB, mainDB (информация для пользователей, информация для входа и), все экземпляры не будут иметь много коллекций, например resourcesDB имеет только 2 коллекции, коллекции ресурсов, каждый из которых будет иметь 1 документ с материалами, связанными с ресурсами, и коллекцию журналов, которая будет хранить все использование пользователя (обновления зданий, битвы потеряны и т. д.)
Я читал о нескольких экземплярах на тех же серверах, и все они говорили, что это не лучший способ сделать это, так как это повлияет на мою производительность, в будущем я планирую отделить все мои разделы на разных серверах, чтобы каждый раздел имел собственный сервер и сервер БД, если это необходимо.
Должен ли я построить 1 экземпляр и разделить его на уровне базы данных? это означает, что мне нужно будет подключиться к одному экземпляру с нескольких серверов, сервер ресурсов будет обновлять все ресурсы пользователя каждый раз, объединить это с боевым сервером, который будет обновлять состояние войск в БД и больше для каждой войны, которая идет на, у меня также будет база данных чата, которая будет обновляться с каждым частным сообщением или сообщением чата, вызовет ли это какие-либо проблемы? или это вызовет проблемы только в том случае, если я подключусь к одной базе данных и разделим ее на уровне коллекций?
Есть ли причина, по которой я не должен продолжать создавать несколько экземпляров? я читал, что может возникнуть проблема с конфигурационными файлами, если вы используете несколько экземпляров на одном сервере, но я предполагаю, что это часть дескриптора.
UPDATE - я нашел отличный ответ здесь: https://dba.stackexchange.com/questions/156811/mongodb-in-micro-services-structure/156984#156984