Мы разрабатываем настольное приложение .NET, которое будет интегрировано с веб-сайтом, используя MySQL. У каждого клиента программного обеспечения будет веб-сайт. Нам необходимо синхронизировать базу данных клиента с соответствующей базой данных, работающей на нашем сервере. У нас будет одна база данных, работающая на нашем сервере для каждого клиента. Эта информация будет отображаться на веб-сайте клиента.
Синхронизация должна производиться в короткие промежутки времени. Мы не хотим иметь устаревший сайт.
Мы подумали написать код, чтобы сделать эту синхронизацию. Кажется, трудно добиться надежной синхронизации. База данных клиентов будет большой, отправлять в короткие промежутки времени представляется нецелесообразным.
Затем мы обнаружили репликацию базы данных. Большой! Гладкий способ синхронизации базы данных. Нам не нужно жестко кодировать это решение! База данных наших клиентов будет главной, а база данных нашего сервера будет подчиненной. Нам нужно несколько ведомых устройств на одном сервере MySQL. MySQL не позволяет этого.
Мы могли бы запустить несколько экземпляров MySQL, по экземпляру на каждого клиента. Но нам нужно открывать порт для каждого экземпляра, и это звучит небезопасно.
Наконец, мы подумали открыть порты и запретить неклиентский доступ с помощью брандмауэра.
Как бы вы решили эту проблему? Мы хотели бы услышать ваше мнение. Спасибо.