Azure Service Fabric rende la distribuzione, la gestione e la creazione di pacchetti di applicazioni di microservizi scalabili e affidabili molto semplici ed efficienti. Semplifica lo sviluppo e la gestione delle applicazioni cloud, nonché scala e orchestra i servizi in modo affidabile. Lo scopo di Azure Service Fabric è fornire agli sviluppatori una piattaforma molto ricca che risolve molti dei problemi comunemente associati allo sviluppo di applicazioni basate su cloud distribuite.
NCache fornisce la sua distribuzione all'interno del cluster di Azure Service Fabric per prestazioni e affidabilità migliorate. NCache è una soluzione di memorizzazione nella cache distribuita in memoria che migliora le prestazioni e la scalabilità delle applicazioni memorizzando nella cache i dati e risiedendo più vicino alle applicazioni.
NCache Dettagli NCache Distribuzione OpenShift NCache Documenti AKS
NCache Architettura di distribuzione in Azure Service Fabric
Diamo una panoramica dell'architettura di distribuzione complessiva di NCache in Azure Service Fabric. L'infrastruttura è costituita dalla risorsa cluster di Service Fabric insieme a tutte le sue risorse di supporto di Azure, inclusi un servizio di bilanciamento del carico di Azure e un set di scalabilità di macchine virtuali. Un cluster di Service Fabric può avere più applicazioni in esecuzione che possono essere costituite da singoli servizi poiché è comune nell'architettura basata su microservizi e questi singoli servizi possono essere scritti in un linguaggio diverso. Service Fabric gestisce la scalabilità e l'elevata disponibilità delle applicazioni e dei relativi servizi individuali.
In tali applicazioni aziendali, una soluzione di memorizzazione nella cache distribuita come NCache è parte integrante per favorire prestazioni elevate. NCache può anche essere distribuito all'interno dell'applicazione Service Fabric come servizio contenitore. In questo scenario, NCache i server vengono eseguiti all'interno dei contenitori su più nodi del set di competenze della macchina virtuale e comunicano tra loro per formare una cache in cluster.
Il servizio di rilevamento della cache ottiene informazioni in tempo reale sugli indirizzi IP di NCache server e fornisce tali informazioni ai client. Utilizzando queste informazioni, i client possono eseguire operazioni su NCache cluster di cache. Mettendo tutto insieme, il diagramma seguente mostra la distribuzione di NCache nel cluster di Service Fabric:
Esaminiamo i dettagli graduali della distribuzione di NCache per capirlo meglio.
NCache Dettagli Distribuzione di NCache nel cluster di Service Fabric
Passaggio 1: creare un cluster di Service Fabric
Il primo passaggio consiste nel creare un cluster di Service Fabric per la distribuzione NCache. Creare un gruppo di risorse con la risorsa dell'insieme di credenziali delle chiavi. L'insieme di credenziali delle chiavi contiene il certificato che verrà usato con il cluster di Service Fabric. Per iniziare, puoi iniziare con il modello ARM per un cluster Service Fabric a 5 nodi fornito qui e quindi apportare le seguenti modifiche:
- Nel json file, modificare il valore predefinito di vmImageSku parametro nel parametri sezione da 2016-Centro dati a 2016-Datacenter-con-container. Ciò configurerà i nodi VMSS con funzionalità Docker preinstallate.
- Aggiorna il modello ARM per consentire Apri la modalità di rete.
- Tra le porte del sistema di bilanciamento del carico che vorresti esporre, aggiungine una con un valore di 8251 che è il valore della porta su cui NCache Web Manager sarà in esecuzione. Modificare la modalità di distribuzione per questa porta in IP sorgente. Ciò consentirebbe il NCache Web Manager a cui è possibile accedere con una sessione permanente per fornire uno stato coerente tra server e client durante il processo di creazione di cache e aggiunta di nodi ad esse.
Al termine, è possibile distribuire il modello ARM e le risorse e le relative configurazioni verranno fornite da Azure Resource Manager. Una volta che l'infrastruttura è a posto e tutte le configurazioni specificate nel modello ARM sono state verificate, vai al passaggio successivo.
Passaggio 2: Crea NCache Servizio cluster
NCache il servizio cluster è il servizio principale in esecuzione che rappresenta il NCache server in esecuzione all'interno dei contenitori nel servizio Fabric VMSS. Il NCache le immagini del contenitore di Windows del server sono disponibili su Mozzo mobile. La modalità di configurazione utilizzata da questo servizio è la Apri la modalità di configurazione e i suoi dettagli di utilizzo sono spiegati più avanti nel blog. Lo scopo di questo servizio è quello di esporre le seguenti porte necessarie per la comunicazione:
- Il porto di gestione: Numero di porta 8250 su cui i server cache ascoltano le operazioni di gestione come la creazione della cache ecc.
- Porta client: Numero di porta 9800 per l'esecuzione di tutte le operazioni CRUD.
In Service Fabric, il Apri la modalità di rete consente a più contenitori di condividere la stessa porta assegnando loro indirizzi IP individuali dal pool di indirizzi IP secondari della macchina virtuale su cui sono in esecuzione. In caso di NCache servizio, questo avrebbe l'ulteriore vantaggio di consentire il NCache contenitori per comunicare attraverso i confini dell'host quando fanno parte di una cache in cluster. Questo non e' possibile con il default NAT modalità.
Di seguito è riportato il campione NCache file manifest del servizio cluster:
1 2 3 4 5 6 7 |
<ContainerHost> <ImageName>alachisoft/ncache</ImageName> </ContainerHost> <Endpoints> <Endpoint Name="cache-management" Protocol="tcp" UriScheme="tcp" Port="8250" CodePackageRef="Code" /> <Endpoint Name="cache-client" Protocol="tcp" UriScheme="tcp" Port="9800" CodePackageRef="Code" /> </Endpoints> |
Passaggio 3: Crea NCache Service Management
NCache Il servizio di gestione è anche un servizio contenitore e utilizza la stessa immagine Docker di NCache servizio cluster. Lo scopo di questo servizio è quello di esporre la porta 8251 a fini di gestione e monitoraggio accedendo al file NCache Web Manager. Il motivo per separare il NCache servizio di gestione dal NCache servizio cluster è che in modalità di configurazione aperta, il mapping da host a porta non è consentito. NCache È necessario accedere a Web Manager fornendo la porta host e, per questo, un altro servizio noto come NCache il servizio di gestione viene creato con NAT modalità. Di seguito è riportato il file manifest del servizio di esempio per NCache Servizio di gestione.
1 2 3 4 5 6 |
<ContainerHost> <ImageName>alachisoft/ncache</ImageName> </ContainerHost> <Endpoints> <Endpoint Name="web-management" Protocol="http" UriScheme="http" Port="8251" Type="Input" CodePackageRef="Code" /> </Endpoints> |
Passaggio 4: Crea NCache Servizio di scoperta
I NCache discovery service è un ASP affidabile senza stato.NET Core API Web che consulta il servizio di denominazione di Service Fabric e acquisisce gli endpoint registrati dal NCache Servizio cluster. Le informazioni recuperate accedendo agli endpoint vengono quindi fornite ai client come risposta HTTP.
Le applicazioni client possono quindi eseguire operazioni su NCache cache cluster creando una connessione cache utilizzando le informazioni sull'indirizzo IP acquisito. Il manifesto di servizio per NCache Il servizio di rilevamento è mostrato di seguito:
1 2 3 4 5 6 7 |
<EnvironmentVariables> <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="" /> </EnvironmentVariables> <Endpoints> <!-- This endpoint is used by the communication listener to obtain the port on which to listen. --> <Endpoint Protocol="http" Name="ServiceEndpoint" UriScheme="http" Port="55100" Type="Input" /> </Endpoints> |
Passaggio 5: crea un cluster di cache
Questa parte è dove avviene l'effettiva creazione della cache. Per cominciare, assicurati che il NCache Il servizio di rilevamento è attivo e funzionante. Dal servizio di rilevamento, accedi all'URI che è costituito da DNS cluster e alla porta su cui è in ascolto il servizio di rilevamento della cache. All'apertura dell'URI seguito dal DNS, vengono mostrati gli indirizzi IP di ciascun endpoint che vengono registrati dal NCache servizio.
Dopo esserti assicurato che il servizio sia attivo e funzionante, ora puoi accedere a NCache Web Manager da creare NCache cache in cluster. Per accedere al NCache Web Manager, accedi ad esso utilizzando il DNS seguito dal numero di porta 8251. Questo ti porta alla finestra principale di NCache Gestore web. Crea il cluster di cache seguendo i passaggi nella sezione di creazione del cluster di cache in documentazione.
Passaggio 6: creare il servizio dell'applicazione client
Il diverso NCache i servizi client inviano richieste HTTP a NCache Discovery Service che fornisce ai client gli indirizzi IP dei container su cui NCache è in esecuzione in risposta. I client possono quindi utilizzare gli indirizzi IP per creare connessioni cache con cui comunicano con il NCache cache raggruppata.
Se è necessario il monitoraggio per il dalla parte del cliente NCache contatori di prestazioni e/o richiedono out-proc cache client con i servizi client, le applicazioni client devono essere distribuite come servizi contenitore le cui immagini di origine includono il file NCache installazione in modalità client cache. In questo caso, il servizio client utilizza anche la modalità di rete aperta.
Di seguito è riportato il file manifest del servizio di esempio per un servizio dell'applicazione client con NCache installazione client:
1 2 3 4 5 6 |
<EntryPoint><ContainerHost><ImageName>ncache/apps:sfclient</ImageName></ContainerHost></EntryPoint> <EnvironmentVariables> <EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> <EnvironmentVariable Name="Cache_Name" Value="democache"/> <EnvironmentVariable Name="Cache_DiscoveryService_URL" Value="<Cache Discovery Service URL>"/> <!-- Other environmental variables --> |
NCache Dettagli NCache Distribuzione OpenShift NCache Contenitori di Docker
Passaggio 7: eseguire le applicazioni client
Una volta che la cache è attiva e funzionante, puoi iniziare a eseguire operazioni CRUD dal lato client. Le applicazioni client inizieranno inizialmente con l'acquisizione degli indirizzi IP del NCache contenitori di server da NCache Discovery Service e stabilire una connessione con la cache. Una volta stabilita la connessione, le operazioni di gestione della cache e CRUD possono procedere.
È possibile convalidare la connessione client utilizzando il file NCache Web Manager e NCache Web Monitor spiegato nel passaggio successivo.
Passaggio 8: monitoraggio NCache Cluster
NCache Web Manager ha un incorporato NCache Monitoraggio Web strumento che ti aiuta a monitorare il tuo cluster di cache. Il monitoraggio del cluster di cache fornisce informazioni in tempo reale sullo stato del cluster di cache, sull'attività della cache, sul numero di operazioni eseguite e molto altro. Il monitoraggio del tuo cluster di cache ti aiuta a prendere misure adeguate per problemi come i costi di memoria ecc.
Segui i passaggi nella documentazione per monitorare il tuo cluster di cache. Ti mostra vari dashboard come Report Dashboard o Graphical Dashboard insieme ai contatori client e server.
Passaggio 9: ridimensionamento NCache Cluster
NCache essendo di natura molto scalabile, te lo permette aggiungi server al tuo cluster di cache in fase di esecuzione. NCache Web Manager consente di aggiungere server nel cluster di cache. Ridimensiona semplicemente il NCache servizio cluster a tutte le istanze necessarie. Una volta il nuovo NCache i contenitori del server sono in esecuzione, puoi aggiungerli al tuo cluster di cache senza dover arrestare il cluster di cache.
È quindi possibile monitorare il cluster di cache per visualizzare l'attività sul nodo del server aggiunto.
Conclusione
Per mettere insieme l'intero articolo, abbiamo trattato la distribuzione di Azure Service Fabric in NCache. NCache è una soluzione di memorizzazione nella cache molto scalabile e garantisce prestazioni elevate e transazioni estremamente veloci. Questi vantaggi possono essere raggiunti seguendo alcuni semplici passaggi e implementando NCache nel tuo ambiente containerizzato con Azure Service Fabric.