YARP Docsv2.3
Документация/Расширяемость/Обзор

Обзор

Есть два основных способа расширения YARP — в зависимости от желаемого поведения маршрутизации:

Обзор расширяемости YARP

Есть два основных способа расширения YARP — в зависимости от желаемого поведения маршрутизации:

Конвейер промежуточного ПО (Middleware Pipeline). HTTP Forwarder.

Конвейер промежуточного ПО

YARP использует понятия маршрутов (Routes), кластеров (Clusters) и узлов назначения (Destinations). Они могут задаваться через файлы конфигурации или напрямую через код. На основе правил маршрутизации YARP выбирает кластер и перечисляет возможные узлы назначения. Затем с помощью конвейера промежуточного ПО он выбирает узел назначения с учётом работоспособности узла, привязки сеансов, балансировки нагрузки и т. д.

Большую часть готового конвейера можно настроить через код:

Поставщики конфигурации. Перечисление узлов назначения. Привязка сеансов. Балансировка нагрузки. Проверки работоспособности. Преобразования запросов. Настройка HttpClient.

Вы также можете изменить определение конвейера, заменив модули собственными реализациями или добавив дополнительные модули по мере необходимости. Дополнительные сведения см. в разделе Промежуточное ПО.

HTTP Forwarder

Если конвейер YARP слишком жёсткий для вашего сценария или масштаб правил маршрутизации и узлов назначения не подходит для загрузки в память, вы можете реализовать собственную логику маршрутизации и использовать HTTP Forwarder для направления запросов на выбранный узел назначения. Компонент HttpForwarder принимает HTTP-контекст и пересылает запрос на переданный узел назначения.

Компонент преобразований (transform) по-прежнему можно использовать вместе с пересыльщиком (forwarder), если он нужен. Дополнительные сведения см. в разделе Прямая пересылка.

Примечание

Автор подготовил эту статью с помощью ИИ. Подробнее

Адаптировано из Microsoft Learn , лицензия CC BY 4.0 .