@Ilya12345

Sqlite,Mysql,Php синхронизация?

Доброго времени суток.
Делаю плагин для пополнения игрового магазина как на сайте, так и на игровом сервере.
Игровой магазин каждую минуту через плагин начисляет 5 единиц валюты и держит сумму в sqlite.
На веб хостинге стоит же mysql, и в системе авторизации и пополнения виртуального счета (на сайте) предусмотрено поле под баланс в таблице.
Собственно в чем вопрос, если делать синхронизацию:
сайт -> игровой сервер (то будут затерт баланс в игре в случае пополнения сайта и разных сумм сайта и игры)
игровой сервер -> сайт (то будут затерт баланс на сайте в случае пополнения плагином баланса за время в игре)
Начисление валюты на сайте происходит так:
пополнение через платёжный шлюз -> текущий баланс игрока на сайте + сумма пополнения.
Так как плагин считает отдельно и исходников от него у меня нет, то собственно стоит вопрос:
как синхронизировать баланс между игровым сервером и сайтом в двухстороннем порядке и без потерь в балансе.
Если учесть что всегда будет разсинхрон балансов.
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
slashinin
@slashinin
Задачи для PHP https://justcoding.ru
Вам необходимо реализовать механизм блокировок.

Не важно откуда и куда вы будете делать синхронизацию, главное, что бы в момент обновления исходная таблица была заблокирована до момента вставки значения в целевую таблицу. А на время блокировки, запросы на обновление исходной таблицы должны попадать в очередь, после снятия блокировки они будут исполнены.

Поищите как блокировать таблицы в SQLite и MySQL, а затем реализуйте алгоритм синхронизации с блокировками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы