Поделиться через


Сетка событий в Kubernetes — пакетная доставка событий

Сетка событий в Kubernetes с поддержкой Azure Arc поддерживает возможность доставки более одного события в одном запросе. Эта возможность позволяет увеличить общую пропускную способность доставки, избегая издержек, связанных с выполнением каждого HTTP-запроса. Пакетная доставка событий по умолчанию отключена, и ее можно включить с помощью конфигурации подписки на события.

Важно!

Служба "Сетка событий" в Kubernetes с поддержкой Azure Arc сейчас находится в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендована для использования рабочей среде. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования предварительных выпусков Microsoft Azure.

Предупреждение

Максимально допустимая продолжительность обработки каждого запроса на доставку не меняется, даже если код обработчика событий должен выполнять дополнительные действия при пакетном запросе. Время ожидания доставки по умолчанию установлено на 60 секунд.

Политика пакетной доставки событий

Поведение пакетной доставки событий в Сетке событий в Kubernetes можно настроить для каждой подписки на события, настроив следующие два параметра:

  • Максимальное число событий в пакете

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

  • Предпочтительный размер пакета в килобайтах

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

Поведение пакетной доставки событий

  • Принцип All-or-none

    Сетка событий в Kubernetes работает с семантикой all-or-none (все или ничего). Частичное выполнение пакетной доставки событий не поддерживается. Обработчики событий должны запрашивать столько событий в одном пакете, сколько они реально смогут обработать в течение 60 секунд.

  • Оптимизация пакетной обработки

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

  • Пакетная доставка по умолчанию отключена

    По умолчанию Сетка событий в Kubernetes добавляет только одно событие в каждый запрос на доставку. Чтобы включить пакетную отправку событий, достаточно задать какой-либо из параметров, упомянутых в статье, в полезных данных подписки на события.

  • Значения по умолчанию

    При создании подписки на события не нужно указывать оба параметра (максимальное количество событий на пакет и приблизительный размер пакета в килобайтах). Если задан только один параметр, Сетка событий в Kubernetes будет использовать значения по умолчанию (настраиваемые).

Пример

В следующем примере показано, как задать maxEventsPerBatch и preferredBatchSizeInKilobytes в свойствах конечной точки, чтобы включить пакетную обработку.

{
    "properties":
    {
        "destination":
        {
            "endpointType": "WebHook",
            "properties":
             {
                "endpointUrl": "<your_webhook_url>",
                "maxEventsPerBatch": 10,
                "preferredBatchSizeInKilobytes": 64
             }
        },
    }
}

Дальнейшие шаги

Дополнительные сведения о назначениях и обработчиках, поддерживаемых Сеткой событий в Azure Arc для Kubernetes, см. в статье Сетка событий в Kubernetes — обработчики событий.