Condividi tramite


Panoramica dell'estensibilità di YARP

Esistono due stili principali di estendibilità per YARP, a seconda del comportamento di routing desiderato:

  • Middleware Pipeline (pipeline di intermediazione)
  • Server d'inoltro HTTP

Middleware della pipeline

YARP usa il concetto di route , cluster e destinazioni. Questi possono essere forniti tramite file di configurazione o direttamente attraverso il codice. In base alle regole di routing, YARP seleziona un cluster ed enumera le possibili destinazioni. Usa quindi la pipeline middleware per selezionare il server di destinazione in base allo stato di salute della destinazione, all'affinità di sessione, al bilanciamento del carico e così via.

diagramma della middleware pipeline

La maggior parte della pipeline predefinita può essere personalizzata tramite il codice:

È anche possibile modificare la definizione della pipeline per sostituire i moduli con le proprie implementazioni o aggiungere moduli aggiuntivi in base alle esigenze. Per ulteriori informazioni, vedere Middleware.

Server d'inoltro HTTP

Se la pipeline YARP è troppo rigida per il caso d'uso o la scalabilità delle regole di routing e delle destinazioni non è adatta per il caricamento in memoria, è possibile implementare la logica di routing personalizzata e usare il server d'inoltro HTTP per indirizzare le richieste alla destinazione scelta. Il HttpForwarder componente accetta il contesto HTTP e inoltra la richiesta alla destinazione fornita.

diagramma del server d'inoltro HTTP

Il componente di trasformazione può comunque essere usato se è necessario il server d'inoltro.

Per ulteriori informazioni, consultare inoltro diretto.