У меня очень простое приложение.
Пользователь загружает фотографию, затем фотография получает различные улучшения, такие как «размытие» или «сепия».
Обработка фильтров изображений выполняется в функциях лазурного цвета. Таким образом, вы передаете «гид» изображения в функцию azure вместе с фильтром, а затем функции azure позаботятся об этом, создадут фотографию и поместят в лазурное хранилище.
У меня есть несколько фильтров изображений.
Можно ли с моего веб-сайта выполнять несколько запросов к Azure одновременно для каждого фильтра? Или есть другой способ.
Примечание: я не хочу использовать триггеры blobstorage, так как они могут иметь задержку в пару минут. Это то, что я прочитал в официальной документации Microsoft.
Я думаю, что выполнение 100 параллельных HTTP-запросов на веб-сервере может быть излишним. Какая альтернатива запуску 100 параллельных функций.
Я просто хочу обработать несколько изображений одновременно, а затем показать галерею пользователю. Почему так сложно объяснить.
Также ознакомьтесь с надежными функциями Azure. Устойчивые функции позволяют кратко реализовать цепочку функций в коде. docs.microsoft.com/en-us/azure/azure-functions/…
Я имел в виду, что если вы стреляете, увеличиваете и размываете изображение, а огонь, делайте черно-белым. все одновременно. одна функция выиграет. Т.е. один будет писать, а другой -. Итак, кто может писать, также добавляется размытие к черно-белому, или вы получаете один размытый и один черный и белый. Также ваш вопрос не спрашивает, как показать 100 изображений. он спрашивает, как применить фильтр, 100 раз параллельно





Вы можете продолжать использовать HTTP для этой задачи и запускать 100 параллельных запросов к вашим функциям Azure. Однако заставить это работать на 100% надежно может быть проблемой, по крайней мере, попробуйте повторить попытку, если некоторые из ответов содержат код состояния неуспеха.
Более естественным способом был бы рефакторинг до функций, управляемых событиями.
Одним из вариантов может быть сетка событий Azure, как описано в Реакция на события хранилища BLOB-объектов. Сетка событий работает быстро, но я не могу найти никаких ссылок на гарантированную задержку для событий Blob. Также кажется, что в этом случае вам может понадобиться 100 функций, что звучит утомительно.
Наконец, вы можете просто отправить 100 сообщений в очередь хранилища или служебную шину, указав, какой большой двоичный объект необходимо обработать и с каким преобразованием внутри полезной нагрузки сообщения. Среда выполнения функций позаботится о масштабировании и распараллеливании выполнения на основе статистики очереди.
Задержка - очень важная вещь, в официальной документации написано, что если у вас более 10.000 блобов, их обработка может занять до минуты.
это, вероятно, будет закрыто, так как оно слишком широкое, и по сути может привести к тому, что кто-то скажет «Да» или «Нет», поскольку вы только спросили, в порядке ли это. На стороне нет, если вы попросите, чтобы он был размытым, и в отдельном запросе попросите, чтобы это было XXX, будет ли это применено к размытому? кто выигрывает при сохранении?