Configurazione client (client.ncconf)
Questo file di configurazione del client (client.ncconf) è utilizzato dal NCache API client per ottenere le informazioni iniziali necessarie per stabilire una connessione con il server. Questo file è universale per tutte le istanze client in esecuzione sul nodo client. Si trova in %NCHOME%\config in Windows o /opt/ncache/config in Linux. Per i moduli che necessitano di leggere le configurazioni, provare prima a trovare client.ncconf nella cartella dell'applicazione. Se client.ncconf non viene trovato lì, legge la configurazione dalla cartella di installazione.
Il file di configurazione del client viene utilizzato dal client per connettersi alle cache OutProc. Anche i client leggeri utilizzano questo file di configurazione per connettersi alle cache remote. Questo file si aggiorna automaticamente ogni volta che viene creata una nuova cache/cluster. Allo stesso modo, si aggiorna ogni volta che vengono applicate le impostazioni di configurazione della cache/cluster, purché NCache è installato sulla macchina e il NCache il servizio è in esecuzione. Inoltre, è possibile fornire informazioni sulla sicurezza per ciascuna cache in questo file.
Note:
Le stesse configurazioni possono essere specificate tramite il Opzioni di connessione cache API dentro Alachisoft.NCache.Client
. Per ulteriori dettagli su come utilizzare l'API durante l'inizializzazione delle cache, fare riferimento a Connetti alla pagina Cache nella Guida del programmatore.
Consigli
Le configurazioni specificate tramite CacheConnectionOptions
sovrascriverà le configurazioni nel file client.ncconf SOLO per il cliente che li specifica.
Il file di configurazione del client è spiegato di seguito:
<configuration>
<ncache-server connection-retries="5" retry-connection-delay="0" retry-interval="1" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800" local-server-ip="20.200.20.38" enable-keep-alive="true" keep-alive-interval="30" />
<cache id="demoCache" client-cache-id="" client-cache-syncmode="optimistic" default-readthru-provider="" default-writethru-provider="" load-balance="True" enable-client-logs="False" log-level="error">
<server name="20.200.20.38"/>
<server name="20.200.20.23"/>
</cache>
</configuration>
timeout della richiesta del cliente:
Client-request-timeout
è il periodo durante il quale l'API client attende una risposta per un comando dal server. Trascorso questo periodo viene generata una "OperationFailedException". Per impostazione predefinita, questo periodo di tempo è 90 secondi e il valore minimo è 60 secondi. Se un intervallo di tempo è inferiore al valore minimo, verrà ripristinato automaticamente al valore minimo, ovvero 60 secondi.
tentativi di connessione:
connection-retries
è il numero di tentativi effettuati dal client sull'intero elenco di server menzionati nel file client.ncconf file al momento in cui si stabilisce una connessione. Lo stesso vale se la connessione si interrompe.
intervallo-riprova: Se la connessione con il server della cache viene interrotta, il client tenta di riconnettersi al server e il flag di ritardo dei tentativi di connessione introduce il ritardo tra ciascun tentativo. Questo flag è specificato in secondi.
connesione finita:
connection-timeout
è il periodo di tempo che i thread aspettano prima di lanciare OperationFailedException
durante un'interruzione della connessione, mentre un thread tenta di stabilire una connessione con il server della cache. Se la connessione viene stabilita correttamente, tutti i thread completeranno le rispettive operazioni. Altrimenti, lanceranno un OperationFailedException
.
ritardo di riconnessione:
retry-connection-delay
è l'intervallo di tempo che l'API client attende prima di eseguire un'altra iterazione di tentativi di connessione. Il ritardo è specificato in secondi.
abilita-mantieni-vivo:
enable-keep-alive
specifica se la connessione tra client e server deve essere mantenuta "attiva", cioè, se il client è inattivo (non comunica con i suoi server collegati), invia heart-beat o ping dal client ai nodi del server dopo intervalli fissi secondo la topologia della cache. Questa funzionalità è particolarmente utile se è presente un firewall che interrompe le connessioni di rete inattive o se rileva in modo proattivo le interruzioni della connessione.
intervallo di mantenimento:
keep-alive-interval
è l'intervallo in secondi dopo il quale viene inviato un heartbeat dal client inattivo al server per sostenere la connessione. L'intervallo varia tra 1 e 7200 secondi con il valore predefinito impostato su 30 secondi. Se viene specificato un valore fuori intervallo, NCache ricorre all'utilizzo del valore predefinito.
provider-readthru-predefinito: Ottiene/imposta l'ID del provider ReadThru predefinito. Se il provider viene specificato tramite API, questo valore verrà sovrascritto con il valore passato dall'API.
provider-writethru-predefinito: Ottiene/imposta l'ID del provider WriteThru predefinito. Se il provider viene specificato tramite API, questo valore verrà sovrascritto con il valore passato dall'API.
bilanciamento del carico: Quando questo flag è impostato, il client tenta di connettersi al server ottimale in termini di numero di client connessi. In questo modo un numero quasi uguale di client è connesso a ogni nodo nella cache in cluster e nessun singolo nodo è sovraccaricato.
Configurazione del port forwarding
Note:
Se i server della cache e le applicazioni client si trovano nella stessa sottorete, non è necessario configurare il port forwarding.
Se i server e i client della cache si trovano su una sottorete o una rete diversa, l'applicazione client potrebbe non essere in grado di accedere direttamente ai server della cache sulla base degli indirizzi IP. In questo caso, dovrai configurare port forwarding e modifica il tuo client.ncconf file di conseguenza.
Quello che segue è un esempio client.ncconf file con port forwarding configurato:
<configuration>.
...
<server-end-point>
<end-point public-ip="172.19.0.11" public-ports="9801" private-ip="20.200.20.38" private-ports="9800"/>
<end-point public-ip="172.19.0.11" public-ports="1250-1260" private-ip="20.200.20.38" private-ports="8250-8260"/>
<end-point public-ip="172.19.0.11" public-ports="1300-1400" private-ip="20.200.20.38" private-ports="8300-8400"/>
<end-point public-ip="172.19.0.11" public-ports="9802" private-ip="20.200.20.23" private-ports="9800"/>
<end-point public-ip="172.19.0.11" public-ports="2250-2260" private-ip="20.200.20.23" private-ports="8250-8260"/>
<end-point public-ip="172.19.0.11" public-ports="2300-2400" private-ip="20.200.20.23" private-ports="8300-8400"/>
</server-end-point>
</configuration>
punto finale del server: rappresentano gli endpoint che verranno utilizzati per comunicare con NCache server.
punto finale: Il punto finale del ncache server. Una combinazione di un indirizzo IP e una porta.
pubblico-ip: Questo è l'indirizzo IP pubblicamente accessibile o presente al di fuori della rete locale.
porti pubblici: le porte pubbliche che verranno utilizzate per accedere alle porte private.
ip privato: Questo è l'indirizzo IP che è presente all'interno della rete locale e non è direttamente accessibile. Questo è l'indirizzo IP utilizzato dal NCache server.
porti privati: Queste sono le porte che non sono direttamente accessibili. Queste sono le porte utilizzate dal NCache server.
Vedere anche
Configurazione EFCaching
Configurazioni lato server
Impostazioni del server di cache
Impostazioni generali della cache