2017-01-04 5 views
0

Я работаю на веб-сайте, где пользователи перенаправляются на paypal для оплаты.Предотвращение платежей во время резервного копирования сервера

На сервере у меня запланированная задача резервного копирования, выполняемая один раз в месяц, которая длится примерно 15 минут. Во время резервного копирования веб-сайт будет заблокирован.

Однако, если пользователь только что был перенаправлен на paypal до того, как мой сервер приостановлен, существует риск того, что пользователь внесет платеж, но купленные предметы не будут сохранены в БД с момента приостановки моего сервера.

Каковы варианты разрешения этой ситуации? Должен ли я написать небольшой PHP для предотвращения покупок за 10 минут до резервного копирования сервера? Есть ли другие общие варианты? Благодаря!

+0

IMO вам нужен лучший план резервного копирования, если создание резервной копии дает вам простои. Что вы сейчас используете? – Iskar

+0

Я использую менеджер резервного копирования PLESK – Ape

+1

, поэтому я предполагаю, что вы используете общий/управляющий хостинг? Мое предложение было бы попросить вашего хоста настроить [репликацию базы данных] (http://dev.mysql.com/doc/refman/5.7/en/replication.html), а затем сделать резервную копию в базе данных подчиненных. Таким образом, мастер всегда работает и добавляет новые вещи, а подчиненный - это копия, которую вы делаете резервной копией. Немного работы по настройке, но отлично работает в долгосрочной перспективе, особенно если вы не хотите простоя. – Iskar

ответ

0

Если вы хотите предотвратить простоя, вы можете иметь информацию о покупке, хранящуюся в очереди, отдельно от основного сервера, на котором вы регулярно создаете резервную копию, и иметь задание, которое читает из этой очереди и хранит в вашем «главный» сервер. Используйте постоянную очередь, которая не нуждается в резервном копировании (до тех пор, пока она потребляется как можно скорее), поэтому она может принимать данные, пока ваш сервер не работает.

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

Если вы остановите перенаправление на PayPal за 10 минут до резервного копирования, что произойдет, если пользователь будет перенаправлен за 11 минут до резервного копирования? Что произойдет, если резервная копия займет 2 минуты больше, чем вы считали безопасным интервалом? Не делайте этого :)

 Смежные вопросы

  • Нет связанных вопросов^_^