2016-09-02 3 views
1

У меня есть приложение, которое обрабатывает по блоку (x пикселей по x пикселям) обработку (которая может быть параллельна) в Python. Мне просто нужен совет, какой подход лучше всего, архитектурно.Обработка изображений AWS (Lambda vs EC2)

  1. Используйте функцию Lambda, когда изображение загружается в S3, который делает обработку (Тем не менее, я запутался, как я могу воспользоваться распараллеливания или КВД, было бы применение нескольких функций лямбда для каждого часть обрабатываемого изображения?)

  2. Использование SQS и EC2 (в настоящее время я занимаюсь исследованиями, но ударяю по стене).

Я просто хотел знать, какой будет лучший подход. Я постоянно изучаю, и я понимаю, что ваше время ценно, но просто хотел увидеть, сделал ли кто-нибудь здесь что-то подобное.

Спасибо!

ответ

0

Я не думаю, что есть один единственный лучший способ сделать это, как это будет в значительной степени зависит от ваших проектов, целей, ограничений и т.д.

В качестве примера, я работал на Аналогичная проблема с зондированием: мне пришлось обрабатывать SVG-файл в зависимости от данных, предоставляемых функции Lambda.

Первоначально я смотрел на то, что делал что-то похожее на (1) S3->Lambda, но он не соответствовал проблемному домену из-за характера функции Lambda, вызванной событием, созданным объектом S3. Для меня было лучше подобрать функцию Лямбда по требованию.

В связи с этим я в конечном итоге позвонил своей функции Лямбда напрямую через HTTP-запрос до API Gateway (API Gateway->Lambda). Потенциально это может позволить вам называть разные функции лямбда на часть обрабатываемого изображения, но опять же она будет очень зависеть от того, чего вы пытаетесь достичь.

+0

Почему вы использовали API-шлюз, не можете ли вы назвать одну лямбда-функцию в рамках другой лямбда-функции? Таким образом, вручную вызывая функцию лямбда без использования API Gateway? – RandN88

+0

Да, вы можете, первоначальный вызов через шлюз API должен был инициировать процесс лямбда, а не, например, в событии, создаваемом объектами S3. После того, как была вызвана первая функция «start» лямбда, другие функции лямбда называли друг друга. – Fermin

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