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