Я пишу спецификацию для комплексного бизнес-решения; это в основном набор веб-приложений, которые находятся на своих собственных серверах. Я хочу, чтобы они были независимыми, поэтому, если у кого-то есть проблема или он становится очень занятым, на остальных это не влияет.
Будет центральный сервер, который будет действовать как платежный шлюз для приложений, а также предоставлять данные самим приложениям. Данные минимальны; идентификаторы пользователей, заплатили ли они за это приложение и т. д.
Идея заключалась в том, что когда приложение было приобретено, мы просто передавали эти данные соответствующему приложению.
Вопрос в том, как это сделать, не задерживая взаимодействие с пользователем, пока мы ждем, пока сервер приложений не будет перезапущен. Идея состояла в том, чтобы ввести его в очередь и обработать их один за другим на задании cron. Однако есть опасения, что это будет недостаточно быстро, и пользователю придется подождать, прежде чем получить доступ к приложению.
Другая идея заключается в том, что приложение просто связывается с главным сервером, когда пользователь пытается его использовать. Затем главный сервер может утвердить пользователя, и он будет сохранен в БД сервера приложений, поэтому его не нужно проверять снова.
Что вы все думаете об этих идеях? Есть ли явно лучший способ сделать это?
Система должна иметь возможность масштабирования до 100+ приложений и десятков тысяч покупок приложений в час.
Очень интересно посмотреть, что вы все думаете! Большое спасибо