Много триггеров в одном веб-задании - PullRequest
0 голосов
/ 27 декабря 2018
  1. Может ли большое количество триггеров (blob, servicebus, timer) в одном веб-задании снизить производительность веб-задания?

  2. Есть ли способ улучшить производительность?веб-работы с большим количеством триггеров?

  3. Можно ли разделить тяжелую веб-работу на меньшую?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

1.Неужели наличие множества триггеров (blob, servicebus, timer) в одном веб-задании снизит производительность веб-задания? При условии, что ваш веб-задание не одиночный.Вы можете иметь несколько функций в своем веб-задании с несколькими триггерами, и производительность не снизится.(при условии, что ваш план веб-приложения достаточно громоздкий, чтобы справиться со всей нагрузкой.)

2. Есть ли способ улучшить производительность веб-задания с помощью множества триггеров?- лучший способ состоит в том, чтобы разделить веб-задание на меньшие веб-задания, и каждый веб-задание имеет один триггер.И масштабируйте свои веб-задания (добавляйте больше экземпляров) в зависимости от нагрузки.Кроме того, если ваша веб-работа выполняется в течение 5 минут, вы также можете использовать приложение-функцию Azure.Что дает гораздо лучший вариант.В качестве альтернативы, предполагая, что выполнение веб-работы занимает более 5 минут, вы можете использовать exe-файл веб-работы в качестве образа докера и предоставлять его с помощью приложения логики по запросу с помощью ACI.В этом сценарии вы будете настраивать триггеры в приложении логики.

1.Можно ли разделить тяжелую веб-работу на меньшую?- да, смотрите мои предыдущие ответы.

0 голосов
/ 28 декабря 2018

Рассматривайте веб-задания Azure как функцию службы приложений Azure для запуска фонового задания как официальный документ , указанный ниже.

WebJobs - это функция службы приложений Azure, которая позволяетзапускать программу или сценарий в том же контексте, что и веб-приложение, приложение API или мобильное приложение.Использование WebJobs не требует никаких дополнительных затрат.

Несмотря на то, что сказано: no additional cost, WebJob как простая и полезная функция была основана до того, как Azure опубликовал другие подобные и более мощные сервисы, такие как функции, которые будут представлены втот же документ, что и ниже.

Функции Azure предоставляют еще один способ запуска программ и сценариев.Сравнение веб-заданий и функций см. В Выбор между потоками, приложениями логики, функциями и веб-заданиями .

В приведенном выше справочном документе раздел Summary рекомендует свои лучшие варианты.сценарий приложения.

Сводка

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

Вот два сценария, для которых WebJobs могут быть лучшим выбором:

  • Вам нужно больше контроля над кодом, который прослушивает события,Объект JobHost.Функции предлагают ограниченное количество способов настройки поведения JobHost в файле host.json.Иногда вам нужно сделать то, что не может быть указано строкой в ​​файле JSON.Например, только SDK WebJobs позволяет настраивать настраиваемую политику повторов для хранилища Azure.
  • У вас есть приложение-служба приложений, для которого вы хотите запускать фрагменты кода, и вы хотите управлять ими вместе в одном DevOps.окружение.

Для других сценариев, в которых вы хотите запускать фрагменты кода для интеграции служб Azure или сторонних служб, выберите Функции Azure поверх WebJobs с WebJobs SDK.

Тем временемСогласно моему опыту работы с Azure, WebJobs и Functions подходят только для некоторых простых и легких задач.Для обеспечения высокой производительности Пакетная служба Azure является хорошим выбором, чтобы найти баланс между стоимостью и простотой использования.

...