Настройка API для событий, отправляемых сервером

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Базовая версия 2 | Стандартный | Standard v2 | Премиум

В этой статье приведены рекомендации по настройке API в Управление API, реализующей события, отправленные сервером (SSE). SSE основан на стандарте HTML5 EventSource для потоковой передачи (отправки) данных автоматически клиенту по протоколу HTTP после того, как клиент установил подключение.

Совет

Управление API также предоставляет встроенную поддержку API WebSocket, которые сохраняют одно постоянное, постоянное подключение между клиентом и сервером.

Необходимые компоненты

Рекомендации по SSE

Следуйте этим рекомендациям при использовании Управление API для доступа к внутреннему API, реализующего SSE.

  • Выберите уровень служб для длительных HTTP-подключений . SSE использует длительное HTTP-подключение, которое поддерживается в определенных Управление API ценовых категориях. Длительные подключения поддерживаются на классических и Управление API уровнях версии 2, но не в уровне потребления.

  • Сохраняйте неактивные подключения. Если подключение между клиентом и серверной частью может быть неактивным в течение 4 минут или более длительного времени, реализуйте механизм для поддержания работоспособности подключения. Например, включите сигнал хранения TCP на серверной части подключения или отправьте трафик с клиентской стороны по крайней мере один раз в 4 минуты.

    Эта конфигурация необходима для переопределения времени ожидания сеанса простоя в течение 4 минут, которые применяются Azure Load Balancer, которая используется в инфраструктуре Управление API.

  • События ретрансляции немедленно клиенту. Отключите буферизацию ответов в политикеforward-request, чтобы события немедленно ретранслировались клиентам. Например:

    <forward-request timeout="120" fail-on-error-status-code="true" buffer-response="false"/>
    
  • Избегайте других политик, которые буферизует ответы . Некоторые политики, такие как validate-content также могут буферировать содержимое ответа, и не следует использовать с API, реализующими SSE.

  • Избегайте ведения журнала запросов и ответов для Azure Monitor, приложений Аналитика и Центров событий. Вы можете настроить ведение журнала запросов API для Azure Monitor или Приложения Аналитика с помощью параметров диагностики. Параметры диагностики позволяют регистрировать текст запроса и ответа на различных этапах выполнения запроса. Для API, реализующих SSE, это может привести к непредвиденным буферизации, что может привести к проблемам. Параметры диагностики для Azure Monitor и приложений Аналитика, настроенные на глобальных или всех API, область применяются ко всем API в службе. При необходимости можно переопределить параметры отдельных API. При ведении журнала в Центры событий вы настраиваете область и объем контекстной информации для ведения журнала запросов и ответов с помощью ведения журнала в событиях. Для API, реализующих SSE, убедитесь, что вы отключили ведение журнала текста запроса и ответа для Azure Monitor, приложений Аналитика и Центров событий.

  • Отключите кэширование ответов. Чтобы убедиться, что уведомления клиенту своевременны, убедитесь, что кэширование ответов не включено. Дополнительные сведения см. в разделе Управление API политиках кэширования.

  • Тестирование API под нагрузкой. Следуйте общим рекомендациям, чтобы протестировать API под нагрузкой, чтобы обнаружить проблемы с производительностью или конфигурацией перед переходом в рабочую среду.

Следующие шаги