Мне нужно написать веб-сервис на php для обслуживания в трех разных зонах / (города или страны). Каждая зона будет иметь свой собственный компьютер для запуска этого экземпляра веб-службы, за каждой веб-службой находится база данных, которая является точным клоном / копией в каждом регионе, веб-служба обслуживает клиентов данными из базы данных. Основной причиной нескольких экземпляров веб-службы является распределение нагрузки клиента.
Клиенты могут выполнять вызовы чтения и записи через API-интерфейсы веб-службы. Вызовы записи изменят базу данных для этого экземпляра, но это изменение должно быть применено как можно скорее ко всем базам данных в других зонах, так как все базы данных в каждой зоне являются клонами и точными копиями, поэтому изменения в одной базе данных должны синхронизироваться во всехбазы данных в других зонах.
Я предполагаю, что вызовы записи должны идти на какой-то главный сервер, который координирует работу всех веб-сервисов и т. д. Но я уверен, что этот шаблон довольно распространен, и какое-то решение уже существует.
Пожалуйста, сообщите, существует ли какая-либо техника уровня базы данных или приложения, которая бы синхронизировала базы данных при вызовах записи, чтобы изменение или добавление отражалось во всех случаях db? Я могу выбрать базу данных по своему выбору, но основным выбором будет сервер MySQL или postgres, но я могу перейти на другую базу данных, которая может решить эту проблему.