Distribuzione di Azure Service Fabric di NCache

Microsoft Service Fabric è una piattaforma applicativa che semplifica la creazione e la distribuzione di applicazioni basate su microservizi per fornire alle organizzazioni applicazioni affidabili, scalabili e agili in esecuzione in Azure, in locale o su qualsiasi altra piattaforma cloud. Azure Service Fabric offre funzionalità di monitoraggio dell'integrità e vari modelli di programmazione integrati per semplificare lo sviluppo di applicazioni basate su cloud.

NCache è una soluzione di memorizzazione nella cache distribuita in memoria che fornisce un approccio estremamente scalabile per le applicazioni .NET e Java. NCache fornisce anche supporto per varie piattaforme cloud come Service Fabric e Kubernetes in azzurro, Amazon EX ed Red Hat OpenShift. Migliora le prestazioni e la scalabilità delle tue applicazioni cloud nei picchi di carico delle transazioni. Il diagramma seguente mostra la distribuzione di NCache in Azure Service Fabric:

NCache può essere distribuito con Azure Service Fabric nei modi seguenti:

Schierare NCache all'interno del cluster di Service Fabric

Per schierare NCache nel cluster di Service Fabric, di seguito sono riportati i componenti principali che devono essere distribuiti all'interno delle applicazioni cloud:

NCache Servizio di scoperta

NCache Discovery Service è un'API Web affidabile senza stato che ottiene le informazioni in tempo reale sugli indirizzi IP di NCache server per fornire le informazioni al NCache clienti. Con queste informazioni NCache crea handle di cache per i client che possono aiutare i client a eseguire operazioni sulla cache in cluster. Il NCache il servizio di individuazione consulta il servizio di denominazione di Service Fabric per ottenere gli indirizzi IP dei contenitori in cui NCache i server sono in esecuzione.

<ServiceTypes>
    <StatelessServiceType ServiceTypeName="NCacheDiscoveryType" />
  </ServiceTypes>
  <CodePackage Name="Code" Version="1.0.0">
    <EntryPoint>
      <ExeHost>
        <Program>NCacheDiscovery.exe</Program>
        <WorkingFolder>CodePackage</WorkingFolder>
      </ExeHost>
    </EntryPoint>
   ...
  </CodePackage>
  <ConfigPackage Name="Config" Version="1.0.0" />
   ...
</ServiceManifest>

NCache Servizio cluster

Questo servizio è un servizio contenitore che usa l'immagine Docker di NCache. Questo servizio consente NCache server in esecuzione all'interno di contenitori per comunicare tra loro tra gli host in modo da formare il cluster di cache utilizzando il Apri modalità di configurazione ed espone le porte necessarie per la comunicazione.

<ServiceTypes>
    <StatelessServiceType ServiceTypeName="NCacheServiceType" UseImplicitHost="true" />
. . .
      <ContainerHost>
        <ImageName>alachisoft/ncache</ImageName>
      </ContainerHost>
. . .
  <Resources>
    <Endpoints>
      <Endpoint Name="cache-management" Protocol="tcp" UriScheme="tcp" Port="8250" CodePackageRef="Code" />
    </Endpoints>
  </Resources>

NCache Service Management

Questo servizio viene utilizzato per esporre il NCache Web Manager per eseguire le operazioni di gestione e monitoraggio nella cache. Questo servizio utilizza la stessa immagine che il NCache utilizza il servizio cluster. 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à.

<ServiceTypes>
    <StatelessServiceType ServiceTypeName="NCacheWebManagerType" UseImplicitHost="true" />
  </ServiceTypes>
. . . 
      <ContainerHost>
        <ImageName>alachisoft/ncache</ImageName>
      </ContainerHost>
. . .
  <Resources>
    <Endpoints>
      <Endpoint Name="web-management" Protocol="http" UriScheme="http" Port="8251" Type="Input" CodePackageRef="Code" />
    </Endpoints>
  </Resources>

Servizio app client

Questo servizio consente ai contenitori su più nodi di comunicare tra loro. Questo servizio viene utilizzato per acquisire i contatori lato client per il monitoraggio del cluster di cache.

Tutti questi servizi creano successo NCache distribuzione all'interno del cluster di Service Fabric per creare un cluster di cache e quindi eseguire operazioni di monitoraggio e gestione su di esso. Questo servizio comunica con il NCache servizio di discovery che in cambio fornisce al client gli indirizzi IP dei container.

<ServiceManifest Name="ClientContainerPkg" . . .>
  <ServiceTypes>
    <StatelessServiceType ServiceTypeName="ClientContainerType" UseImplicitHost="true" />
  </ServiceTypes>
. . .
      <ContainerHost>
        <ImageName>ncache/apps:sfclient</ImageName>
      </ContainerHost>
. . .
</ServiceManifest>

Schierare NCache all'esterno del cluster di Service Fabric

NCache è possibile accedere anche dai servizi di Service Fabric quando si trova in una macchina virtuale non inclusa nel set di scalabilità di macchine virtuali di Service Fabric. In questo caso, NCache non è richiesto il rilevamento del servizio e le applicazioni possono essere fornite con gli indirizzi IP del NCache server. Accedere NCache dall'esterno del cluster di Service Fabric, puoi fornire gli indirizzi IP corretti in client.ncconf o tramite l'API CacheConnectionOptions fornita da NCache. Ciò consente una comunicazione senza interruzioni di microservizi con NCache all'esterno del cluster di Service Fabric.

Cosa fare dopo?

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.