Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При развертывании Функций Azure в приложениях контейнеров Azure платформа автоматически преобразует параметры триггера функций в конфигурации масштабирования KEDA. Этот перевод гарантирует, что функции масштабируются соответствующим образом на основе входящей рабочей нагрузки из различных источников событий.
Как работают сопоставления масштабирования
Функции Azure в контейнерных приложениях используют KEDA для мониторинга источников событий и масштабирования приложений-функций. Платформа автоматически:
Преобразует параметры функций: преобразует конфигурацию триггера функций (из
host.jsonатрибутов или триггеров) в метаданные масштабируемого обработчика KEDA.Применяет правила масштабирования: использует преобразованные параметры для создания соответствующих правил масштабирования KEDA.
Отслеживает события: KEDA постоянно отслеживает источники событий на основе этих правил.
Масштабирует экземпляры. Автоматически масштабирует экземпляры контейнеров вверх или вниз на основе рабочей нагрузки.
В следующих разделах подробно описаны сопоставления параметров для каждого типа триггера.
Параметры масштабирования
В следующих разделах описано, как параметры триггера Функций Azure сопоставляются с соответствующими конфигурациями масштабировщика KEDA для каждого поддерживаемого типа триггера.
Очередь службы хранилища Azure
В следующей таблице показано, как параметры триггера очереди службы хранилища Azure сопоставляют со значениями конфигурации масштабируемого модуля KEDA.
| Параметр | Конфигурация функций | Конфигурация KEDA |
|---|---|---|
| имя параметра | batchSize |
queueLength |
| Путь к конфигурации |
extensions.queues.batchSize (host.json) |
metadata.queueLength |
| Значение по умолчанию | 16 | 5 |
| Описание триггера функций | Описание масштабировщика KEDA |
|---|---|
Количество сообщений очереди, которые среда выполнения Функций получает и обрабатывает параллельно. Когда обрабатывается newBatchThresholdчисло, среда выполнения извлекает другой пакет. Максимальное число одновременных сообщений для каждой функции — batchSize плюс newBatchThreshold. Установите значение batchSize 1, чтобы исключить параллелизм, если приложение не масштабируется до нескольких виртуальных машин. Максимальное значение batchSize — 32. |
Целевое значение для длины очереди, переданной масштабировщику. Например, если один модуль pod может обрабатывать 10 сообщений, задайте для целевой длины очереди значение 10. Если фактическое количество сообщений в очереди равно 30, масштабировщик масштабируется до трех модулей pod. |
Логика перевода
metadata.queueLength = extensions.queues.batchSize
Служебная шина Azure (одна отправка)
В следующей таблице показано, как параметры триггера служебной шины Azure сопоставляют со значениями конфигурации масштабируемого модуля KEDA.
| Параметр | Конфигурация функций | Конфигурация KEDA |
|---|---|---|
| имя параметра | maxConcurrentCalls |
messageCount |
| Путь к конфигурации |
extensions.serviceBus.maxConcurrentCalls (host.json) |
metadata.messageCount |
| Значение по умолчанию | 16 | 5 |
| Описание триггера функций | Описание масштабировщика KEDA |
|---|---|
Ограничивает максимальное число одновременных вызовов на масштабируемый экземпляр. Для многоядерных экземпляров максимальное число ядер умножается на число ядер. Используйте этот параметр только в том случае, если isSessionsEnabled значение равно false. |
Количество активных сообщений в очереди или разделе служебной шины Azure для масштабирования. |
Логика перевода
metadata.messageCount = extensions.serviceBus.maxConcurrentCalls
Служебная шина Azure (одноразовая диспетчеризация, сеансы)
В следующей таблице показано, как параметры триггера служебной шины Azure сопоставляют со значениями конфигурации масштабируемого модуля KEDA , если isSessionsEnabled это значение true.
| Параметр | Конфигурация функций | Конфигурация KEDA |
|---|---|---|
| имя параметра | maxConcurrentSessions |
messageCount |
| Путь к конфигурации |
extensions.serviceBus.maxConcurrentSessions (host.json) |
metadata.messageCount |
| Значение по умолчанию | 8 | 5 |
| Описание триггера функций | Описание масштабировщика KEDA |
|---|---|
Максимальное количество сеансов, обрабатываемых одновременно на один масштабируемый экземпляр. Используйте этот параметр только в том случае, если isSessionsEnabled задано значение true. |
Количество активных сообщений в очереди или разделе служебной шины Azure для масштабирования. |
Логика перевода
metadata.messageCount = extensions.serviceBus.maxConcurrentSessions
Служебная шина Azure (пакетная обработка)
В следующей таблице показано, как параметры триггера служебной шины Azure сопоставляют со значениями конфигурации масштабировщика KEDA для пакетной обработки.
| Параметр | Конфигурация функций | Конфигурация KEDA |
|---|---|---|
| имя параметра | maxMessageBatchSize |
messageCount |
| Путь к конфигурации |
extensions.serviceBus.maxMessageBatchSize (host.json) |
metadata.messageCount |
| Значение по умолчанию | 1000 | 5 |
| Описание триггера функций | Описание масштабировщика KEDA |
|---|---|
| Максимальное количество сообщений, передаваемых каждому вызову функции для пакетной обработки. | Количество активных сообщений в очереди или разделе служебной шины Azure для масштабирования. |
Логика перевода
metadata.messageCount = extensions.serviceBus.maxMessageBatchSize
Центры событий Azure
В следующей таблице показано, как параметры триггера Центров событий Azure сопоставляют со значениями конфигурации масштабируемого модуля KEDA.
| Параметр | Конфигурация функций | Конфигурация KEDA |
|---|---|---|
| имя параметра | targetUnprocessedEventThreshold |
unprocessedEventThreshold |
| Путь к конфигурации |
extensions.eventHubs.targetUnprocessedEventThreshold (host.json) |
metadata.unprocessedEventThreshold |
| Значение по умолчанию | ноль | 64 |
| Описание триггера функций | Описание масштабировщика KEDA |
|---|---|
| Требуемое количество необработанных событий для каждого экземпляра функции. Используется для масштабирования на основе целевого объекта. | Среднее целевое значение для активации действий масштабирования. |
Логика перевода
metadata.unprocessedEventThreshold = extensions.eventHubs.targetUnprocessedEventThreshold
Apache Kafka
В следующей таблице показано, как параметры триггера Apache Kafka сопоставляют со значениями конфигурации масштабируемого модуля KEDA.
| Параметр | Конфигурация функций | Конфигурация KEDA |
|---|---|---|
| имя параметра | LagThreshold |
lagThreshold |
| Путь к конфигурации | Атрибут триггера функции | metadata.lagThreshold |
| Значение по умолчанию | 1000 | 10 |
| Описание триггера функций | Описание масштабировщика KEDA |
|---|---|
Используйте это значение в качестве целевых выполнений для каждого экземпляра триггера Kafka. Количество требуемых экземпляров вычисляется на основе общего задержки потребителя, разделенной LagThresholdна . |
|
| Используйте это значение в качестве целевого объекта для общей задержки (сумма всех задержек секций), чтобы активировать действия масштабирования. |
Example
[KafkaTrigger(
"BrokerList",
"topic",
ConsumerGroup = "$Default",
LagThreshold = 100)]
Логика перевода
metadata.lagThreshold = LagThreshold
Триггер HTTP
Триггер HTTP не сопоставляет масштабировщик KEDA. Вместо этого используйте встроенные возможности масштабирования HTTP-приложений или внешние решения мониторинга.