Nguon: Microsoft Learn · .NET 8.0

Tổng quan về khả năng mở rộng (Extensibility Overview)

Nguồn: Overview of extensibility

Có 2 phong cách mở rộng chính cho YARP, tùy thuộc vào hành vi routing (định tuyến) mong muốn:

Middleware pipeline (Pipeline phần mềm trung gian)

YARP sử dụng khái niệm Routes (tuyến đường), Clusters (cụm) và Destinations (đích đến). Chúng có thể được cung cấp thông qua configuration files (file cấu hình) hoặc trực tiếp thông qua code. Dựa trên các quy tắc routing, YARP chọn một cluster và liệt kê các đích đến có thể. Sau đó nó sử dụng middleware pipeline để chọn đích đến dựa trên tình trạng của đích đến (destination health), session affinity (ái lực phiên), load balancing (cân bằng tải), v.v.

!Sơ đồ middleware pipeline

Hầu hết pipeline được tích hợp sẵn có thể được tùy chỉnh thông qua code:

Bạn cũng có thể thay đổi định nghĩa pipeline để thay thế các module bằng các triển khai của riêng bạn hoặc thêm các module bổ sung khi cần. Để biết thêm thông tin, xem Middleware.

HTTP Forwarder (Bộ chuyển tiếp HTTP)

Nếu YARP pipeline quá cứng nhắc cho trường hợp sử dụng của bạn hoặc quy mô của các quy tắc routing và đích đến không phù hợp để tải vào bộ nhớ, thì bạn có thể triển khai logic routing của riêng mình và sử dụng HTTP Forwarder để hướng các yêu cầu đến đích đã chọn. Component (thành phần) HttpForwarder lấy HTTP context và chuyển tiếp yêu cầu đến đích được cung cấp.

!Sơ đồ HTTP forwarder

Component transform vẫn có thể được sử dụng nếu cần forwarder.

Để biết thêm thông tin, xem Direct forwarding (Chuyển tiếp trực tiếp).