Я имею дело с приложением, которое делает следующее:
Проблема, с которой мы сталкиваемся, заключается в том, что, поскольку мы можем получить более 1500 файлов в S3, их запись и чтение не особенно быстры. Кроме того, мы имеем дело с ситуацией, когда одновременно могут выполняться десятки заданий, хотя не все из них будут использовать 1 ГБ, но у вас может быть несколько таких заданий. Мы подумали о нескольких способах исправить ситуацию:
Я уверен, что есть варианты, о которых я не думал, возможно, даже услуги, которые я не понимаю, я могу использовать. Ограничения здесь в том, что я не могу изменить способ работы всего этого (хотя я не буду возражать, если у людей будут предложения на будущее, когда мы могли бы провести рефакторинг), и я бы предпочел придерживаться использования управляемых служб (поэтому никаких MongoDB или других неподдерживаемые хранилища данных AWS), так как мы небольшая команда и хотим сосредоточиться на том, в чем мы хороши, а не на управлении инфраструктурой.
Вы не рассматривали возможность использования EFS? Вы можете попробовать смонтировать один и тот же том на все процессы (включая лямбду), которые работают с данными.
Мой опыт работы с EFS невелик, поскольку я использовал ее только один раз в качестве примера для решения конкретной проблемы, когда нужно было обойти ограничения памяти Lambdas. В моем случае это не сработало, поскольку добавило значительную задержку в процесс, так как файловая система монтировалась по сети.
Однако в вашем случае это может сработать. Я не проводил тестов скорости, но я уверен, что EFS превосходит S3 по количеству операций. Просто убедитесь, что вы выбрали правильный режим. General
, как правило, быстрее, чем maxIO
, но все зависит от ваших данных.