YARP Docsv2.3
Документация/Разширяемост/Преглед

Преглед

Съществуват 2 основни стила на разширяемост за YARP, в зависимост от желаното поведение на маршрутизация:

Преглед на разширяемостта на YARP

Съществуват 2 основни стила на разширяемост за YARP, в зависимост от желаното поведение на маршрутизация:

Конвейер от междинен софтуер (Middleware Pipeline) Http Forwarder

Конвейер от междинен софтуер (middleware pipeline)

YARP използва понятията маршрути (Routes), клъстери (Clusters) и дестинации (Destinations). Те могат да бъдат предоставени чрез конфигурационни файлове или директно чрез код. Въз основа на правилата за маршрутизация YARP избира клъстер и изброява възможните дестинации. След това използва конвейера от междинен софтуер, за да избере дестинацията въз основа на нейното състояние, афинитета на сесията, балансирането на натоварването и т.н.

По-голямата част от предварително изградения конвейер може да бъде персонализирана чрез код:

Доставчици на конфигурация Изброяване на дестинации Афинитет на сесията Балансиране на натоварването Проверки за състоянието Трансформации на заявки Конфигурация на HttpClient

Можете също да промените дефиницията на конвейера, за да замените модули със собствени реализации или да добавите допълнителни модули според нуждите. За повече информация вижте Middleware.

HTTP Forwarder

Ако конвейерът на YARP е твърде ограничаващ за вашия случай на употреба или мащабът на правилата за маршрутизация и дестинациите не е подходящ за зареждане в паметта, тогава можете да реализирате собствена логика за маршрутизация и да използвате HTTP Forwarder, за да насочвате заявките към избраната от вас дестинация. Компонентът HttpForwarder приема HTTP контекста и препраща заявката към предоставената дестинация.

Компонентът за трансформации все още може да се използва, ако е необходим forwarder-ът. За повече информация вижте Direct forwarding.

Бележка

Тази статия е създадена от автора с помощта на AI. Научете повече

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