13.3 Configurazione delle impostazioni della cache

È possibile utilizzare la pagina Memorizzazione nella cache per visualizzare o modificare le impostazioni di configurazione per un ambiente di server per applicazioni in cluster o non in cluster. Le modifiche eseguite verranno salvate immediatamente, ma non verranno applicate fino al successivo riavvio dell'applicazione utente.

SUGGERIMENTO:per riavviare l'applicazione utente, eseguire una delle operazioni seguenti: riavviare il server per applicazioni, ridistribuire l'applicazione (se il WAR è stato modificato in qualche modo) o imporre il riavvio dell'applicazione (come descritto nella documentazione del server per applicazioni).

Per configurare le impostazioni della cache, è necessario conoscere le informazioni seguenti:

13.3.1 Modalità di implementazione della memorizzazione nella cache

Nell'applicazione utente di Identity Manager la memorizzazione nella cache è implementata tramite la cache JBoss. La cache JBoss è un'architettura di memorizzazione nella cache open source inclusa nel server per applicazioni JBoss che può essere eseguita anche su altri server per applicazioni.

Per ulteriori informazioni sulla cache JBoss, visitare il sito www.jboss.org/products/jbosscache.

13.3.2 Modalità di memorizzazione delle impostazioni della cache

Sono disponibili due livelli di impostazioni per controllare la configurazione della cache. È possibile utilizzarli entrambi per personalizzare il comportamento di memorizzazione nella cache dell'applicazione utente di Identity Manager.

Livello

Descrizione

Impostazioni globali

Le impostazioni vengono memorizzate in un'ubicazione centrale (l'Identity Vault) in modo che più server per applicazioni possano utilizzare gli stessi valori delle impostazioni. Ad esempio, un utente che utilizza un cluster di server per applicazioni in genere utilizza le impostazioni globali per i valori di configurazione del cluster.

Per individuare le impostazioni globali nell'Identity Vault, ricercare l'oggetto seguente nel driver dell'applicazione utente di Identity Manager.


configuration.AppDefs.AppConfig

Ad esempio:


configuration.AppDefs.AppConfig.MyUserApplicationDriver.MyDriverSet.MyOrg

L'attributo XmlData dell'oggetto di configurazione contiene i dati delle impostazioni globali.

Impostazioni locali

Le impostazioni locali vengono memorizzate separatamente nei singoli server per applicazioni in modo che un singolo server possa sostituire il valore di una o più impostazioni globali. Ad esempio, può essere necessario specificare un'impostazione locale per rimuovere un server per applicazioni dal cluster specificato nelle impostazioni globali oppure riassegnare un server a un cluster diverso.

Per individuare le impostazioni locali nel server per applicazioni, ricercare il file seguente nella directory conf di configurazione del server JBoss.


sys-configuration-xmldata.xml

Ad esempio:


jboss/server/IDM/conf/sys-configuration-xmldata.xml

Se il server dispone di impostazioni locali, tali dati sono contenuti in questo file (se non sono state specificate impostazioni locali, il file non esiste).

Le impostazioni globali possono essere considerate i valori di default per ogni server per applicazioni che utilizza un'istanza specifica del driver dell'applicazione utente. Quando si modifica un'impostazione globale, si influisce su ognuno di tali server (al successivo riavvio dell'applicazione utente), ad eccezione dei casi in cui un singolo server specifica una sostituzione locale.

13.3.3 Modalità di visualizzazione delle impostazioni della cache

Nella pagina Memorizzazione nella cache vengono visualizzate le impostazioni della cache attuali (dall'ultimo riavvio dell'applicazione utente) e i valori globali e locali corrispondenti a tali impostazioni, che possono essere modificati (per poterli utilizzare dopo il successivo riavvio dell'applicazione utente).

Descrizione: Descrizione: Illustrazione

Si noti che i valori delle impostazioni globali sono sempre specificati, mentre le impostazioni locali sono facoltative.

13.3.4 Impostazioni base della cache

Le impostazioni della cache riguardano sia i server per applicazioni in cluster che quelli non in cluster.

Per configurare le impostazioni base della cache:

  1. Passare alla pagina Memorizzazione nella cache.

  2. Nella sezione Configurazione cache della pagina specificare i valori globali o locali per le impostazioni seguenti, secondo necessità:

    Impostazione

    Operazione

    Timeout di acquisizione blocchi

    Specificare l'intervallo di tempo (in millisecondi) che deve trascorrere prima che la cache acquisisca un blocco per un oggetto. Se si rileva un numero elevato di eccezioni di timeout nel log dell'applicazione, può essere consigliabile incrementare il valore di questa impostazione. L'impostazione di default è 15000 ms.

    Classe delle norme di rimozione

    Specificare il nome classe per la norma di rimozione della cache da utilizzare. L'impostazione di default è la norma di rimozione LRU fornita dalla cache JBoss:

    
    org.jboss.cache.eviction.LRUPolicy
    

    Se appropriato, è possibile sostituire a questa norma di rimozione un'altra norma analoga supportata dalla cache JBoss.

    Per ulteriori informazioni sulle norme di rimozione supportate, visitare il sito www.jboss.org/products/jbosscache.

    Secondi di intervallo per la riattivazione

    Specificare l'intervallo di tempo (in secondi) che deve trascorrere prima che la norma di rimozione della cache venga riattivata per eseguire le operazioni seguenti:

    • Elaborare gli eventi dei nodi rimossi
    • Eliminare i nodi che hanno raggiunto il limite di dimensioni e di tempo

    Numero massimo di nodi

    Specificare il numero massimo di nodi consentito nella cache. Se non si desidera impostare alcun limite, specificare:

    
    0
    

    Secondi di Time-To-Live

    Specificare il periodo di inattività (in secondi) che deve trascorrere prima che il nodo venga eliminato. Se non si desidera impostare alcun limite, specificare:

    
    0
    

    Queste impostazioni sono obbligatorie, ovvero è necessario che per ogni impostazione sia specificato un valore globale e, facoltativamente, anche un valore locale.

    Se si desidera sostituire il valore globale di un'impostazione con un valore locale, selezionare la casella di controllo Abilita locale per tale impostazione. Specificare quindi il valore locale. Assicurarsi che tutti i valori locali siano validi. Altrimenti non sarà possibile salvare le modifiche.

    NOTA:i valori locali esistenti delle impostazioni per cui Abilita locale è deselezionato verranno eliminati al momento del salvataggio.

  3. Fare clic su Salva.

  4. Per rendere effettive le impostazioni salvate, riavviare l'applicazione utente sui server per applicazioni interessati.

13.3.5 Impostazioni della cache per i cluster

In questa sezione viene esaminato come configurare la memorizzazione nella cache quando si esegue l'applicazione utente di Identity Manager in un cluster di server per applicazioni. È necessario approfondire gli argomenti seguenti:

Modalità di implementazione della gestione in cluster

Nell'applicazione utente di Identity Manager il supporto di cluster per la memorizzazione nella cache è implementato tramite JGroups. JGroups è un'architettura di gestione in cluster open source inclusa nel server per applicazioni JBoss che può essere eseguita anche su altri server per applicazioni.

Il cluster dell'applicazione utente è costituito dai nodi di una rete che eseguono JGroups e utilizzano un ID di gruppo comune. Per default, l'ID di gruppo fornito per il cluster dell'applicazione utente è un UUID simile al seguente:

c373e901aba5e8ee9966444553544200

L'UUID consente di garantire l'univocità, pertanto l'ID di gruppo del cluster dell'applicazione utente non sarà in conflitto con gli ID di gruppo di altri cluster nell'ambiente. Ad esempio, il server per applicazioni JBoss utilizza due cluster JGroups e riserva per tali cluster gli ID di gruppo DefaultPartition e TreeCache.

Per ulteriori informazioni su JGroups, visitare il sito www.jboss.org/products/jgroups.

Funzionamento della memorizzazione nella cache con un cluster

Quando si avvia l'applicazione utente, le impostazioni di configurazione della cache dell'applicazione determinano se partecipare a un cluster e replicare le modifiche della cache agli altri nodi del cluster. Se la gestione in cluster è abilitata, l'applicazione utente esegue la replica inviando i messaggi di invalidazione dei dati della cache a ogni nodo man mano che vengono eseguite modifiche.

Preparazione all'utilizzo di un cluster

Per poter utilizzare la memorizzazione nella cache in un cluster, è necessario eseguire due passaggi fondamentali:

  1. Impostazione del cluster JGroups

    Questa operazione prevede l'installazione del server per applicazioni JBoss per l'utilizzo della configurazione completa e successivamente la distribuzione dell'applicazione utente di Identity Manager (IDM.war) ai singoli server nel cluster, in genere posizionandola nella directory farm.

  2. Abilitazione dell'uso di tale cluster nelle impostazioni di configurazione della cache dell'applicazione utente

    Vedere la sezione Configurazione delle impostazioni della cache per i cluster seguente.

Configurazione delle impostazioni della cache per i cluster

Quando il cluster è pronto per essere utilizzato, è possibile specificare le impostazioni per il supporto della memorizzazione della cache in tale cluster.

Per configurare le impostazioni della cache per i cluster:

  1. Passare alla pagina Memorizzazione nella cache.

  2. Nella sezione Configurazione cluster della pagina specificare i valori globali o locali per le impostazioni seguenti, secondo necessità:

    Impostazione

    Operazione

    Cluster abilitato

    Selezionare True per replicare le modifiche della cache agli altri nodi nel cluster specificati mediante l'ID di gruppo. Se non si desidera utilizzare un cluster, selezionare False.

    ID gruppo

    Specificare l'ID di gruppo del cluster JGroups al quale si desidera partecipare. Non è necessario modificare l'ID di gruppo di default fornito per il cluster dell'applicazione utente, a meno che non si desideri utilizzare un cluster diverso.

    Tenere presente che gli ID di gruppo seguenti sono riservati dal server per applicazioni JBoss: DefaultPartition e TreeCache.

    SUGGERIMENTO:per visualizzare l'ID di gruppo nei messaggi di registrazione, verificare che il livello del log di memorizzazione nella cache (com.sssw.fw.cachemgr) sia impostato su Info o un valore superiore.

    Proprietà cluster

    Specificare lo stack di protocolli JGroups per il cluster specificato tramite l'ID di gruppo. Si noti che questa impostazione deve essere utilizzata solo da amministratori esperti che abbiano l'esigenza di modificare le proprietà del cluster. Non è altrimenti consigliabile modificare lo stack di protocolli di default.

    Per visualizzare le proprietà del cluster attuali, fare clic su Visualizza.

    Per informazioni sullo stack di protocolli JGroups, visitare il sito www.joss.org/wiki/Wiki.jsp?page=JGroups.

    Se si desidera sostituire il valore globale di un'impostazione con un valore locale, selezionare la casella di controllo Abilita locale per tale impostazione. Specificare quindi il valore locale.

    NOTA:i valori locali esistenti delle impostazioni per cui Abilita locale è deselezionato verranno eliminati al momento del salvataggio.

    Verificare che tutti i nodi del cluster specifichino lo stesso ID di gruppo e le stesse proprietà del cluster (per visualizzare queste impostazioni per un nodo specifico, accedere all'interfaccia utente di Identity Manager in esecuzione su tale nodo selezionando l'URL dell'interfaccia utente su tale server e quindi visualizzando la pagina Memorizzazione della cache da tale posizione).

  3. Fare clic su Salva.

  4. Per rendere effettive le impostazioni salvate, riavviare l'applicazione utente sui server per applicazioni interessati.