Cache

GovWay utilizza cache che mantengono i dati di configurazioni acceduti, i keystore e i certificati, il risultato dei processi di validazione, autenticazione, autorizzazione e altri aspetti minori.

Ogni funzionalità è associata ad una cache dedicata per la quale i parametri configurabili sono:

  • Stato (abilitato/disabilitato): consente di disabilitare l’utilizzo della cache;

  • Dimensione (Elementi): numero massimo di elementi che possono risiedere in cache;

  • Algoritmo (LRU/MRU): politica di eliminazione degli elementi quando si raggiunge la massima dimensione consentita;

  • Item Life Time (Secondi): indica l’intervallo temporale massimo in cui un elemento può risiedere in cache;

  • Item Idle Time (Secondi): indica l’intervallo temporale massimo in cui un elemento può risiedere in cache senza mai essere acceduto;

I parametri di ogni cache sono configurabili accedendo alla console di gestione (govwayConsole) in modalità avanzata (Modalità Avanzata) nella sezione “Configurazione -> Cache” (Fig. 609).

../../_images/govwayConsole_cache1.png

Fig. 609 GovWay Cache

Le cache utilizzate da govway e i valori di default associati sono i seguenti:

  • Registro API: mantiene le configurazioni delle API accedute.

    • Stato: abilitato

    • Dimensione: 10000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 7200

    • Item Idle Time (Secondi): infinito

  • Configurazione del Gateway: mantiene le configurazioni generali di GovWay.

    • Stato: abilitato

    • Dimensione: 10000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 7200

    • Item Idle Time (Secondi): infinito

  • Dati di Autorizzazione: contiene i risultati dei processi di autorizzazione.

    • Stato: abilitato

    • Dimensione: 5000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 7200

    • Item Idle Time (Secondi): infinito

  • Dati di Autenticazione: contiene i risultati dei processi di autenticazione.

    • Stato: abilitato

    • Dimensione: 5000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 7200

    • Item Idle Time (Secondi): infinito

  • Gestione dei Token: mantiene i risultati dei processi di validazione dei token e i token negoziati.

    • Stato: abilitato

    • Dimensione: 5000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 600

    • Item Idle Time (Secondi): infinito

  • Attribute Authority: mantiene i dai ottenuti consultando Attribute Authority.

    • Stato: abilitato

    • Dimensione: 5000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 7200

    • Item Idle Time (Secondi): infinito

  • Keystore: contiene i keystore e i certificati acceduti, le CRL e i risultati delle validazioni tramite OCSP. A differenza delle altre cache, il parametro che indica l’intervallo temporale di validità dell’elemento differisce per le CRL e per il risultato della validazione tramite OCSP per poter consentire un intervallo minore.

    • Stato: abilitato

    • Dimensione: 10000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 7200

    • Item Idle Time (Secondi): infinito

    • CRL/OCSP Life Time (Secondi): 1800

  • Controllo Traffico - Dati Statistici: mantiene i dati statistici utilizzati dalle politiche di Rate Limiting.

    • Stato: abilitato

    • Dimensione: 10000

    • Algoritmo: LRU

    • Item Life Time (Secondi): 300

    • Item Idle Time (Secondi): infinito

  • Cache Risposte: cache dedicata alla funzionalità descritta nella sezione Caching della Risposta - Disk Cache. Non è possibile disabilitarla e nemmeno definire un intervallo di validità degli elementi in cache.

    • Stato: N.D.

    • Dimensione: 10000

    • Algoritmo: LRU

    • Item Life Time (Secondi): N.D.

    • Item Idle Time (Secondi): infinito

  • Cache (Load Balancer): cache dedicata alla funzionalità descritta nella sezione Load Balancer. Non è possibile disabilitarla e nemmeno definire un intervallo di validità degli elementi in cache.

    • Stato: N.D.

    • Dimensione: 10000

    • Algoritmo: LRU

    • Item Life Time (Secondi): N.D.

    • Item Idle Time (Secondi): N.D.

Cache di secondo livello

Per minimizzare gli accessi concorrenti alle varie cache e ottenere miglioramenti prestazionali viene utilizzata un’ulteriore cache di secondo livello denominata “Dati delle Richieste” che contiene tutti i dati principali raccolti durante la gestione della prima richiesta (API, configurazioni, keystore, politiche di rate limiting …).

  • Stato: abilitato

  • Dimensione: 10000

  • Algoritmo: LRU

  • Item Life Time (Secondi): 1800

  • Item Idle Time (Secondi): infinito

Nota

Poichè la cache “Dati delle Richieste” consente di recuperare i dati normalmente presenti in altre cache di primo livello, si consiglia di impostare un intervallo temporale di validità della cache non superiore all’intervallo minimo configurato sulle seguenti cache di primo livello: Registro API, Configurazione del Gateway e Keystore.