У меня есть скрипт задания cron, который запускается каждые 60 секунд для обработки и сохранения результатов в базе данных. Это максимум 1440 новых записей в базе данных в день.
Мне нужно иметь много-много миллионов записей в базе данных, поэтому делать это только с одним экземпляром этого скрипта действительно непрактично. Я ищу как минимум 50-кратное ускорение и, в идеале, 300- 500-кратное ускорение, если цена разумная.
Кажется, мне нужна ферма серверов, но я должен использовать Amazon Web Services для обработки этих данных. Как настроить этот сценарий на одновременное выполнение нескольких экземпляров, сохраняя данные в единой унифицированной базе данных?
Нужно ли создавать совершенно отдельные экземпляры сервера каждый раз, когда я хочу запустить этот скрипт, умножая стоимость?
Спасибо за помощь!
Безсерверный подход с использованием удаленной лямбда-функции для выполнения вашей работы, запускаемой системой очередей, решает вашу проблему как технически, так и на уровне цен.
https://aws.amazon.com/lambda/
Например, вы можете инициировать выполнение лямбда-функции из локального централизованного скрипта (например, с помощью одного cron), который ставит в очередь некоторые сообщения в систему очередей для столько записей, сколько вам нужно вычислить асинхронным / параллельным способом.
Безсерверная структура может помочь вам избежать блокировки AWS:
https://serverless.com/
Других решений пока нет …