Implantação do Azure Service Fabric de NCache

O Microsoft Service Fabric é uma plataforma de aplicativos que simplifica a criação e a implantação de aplicativos baseados em microsserviços para fornecer às organizações aplicativos confiáveis, escalonáveis ​​e ágeis, sejam eles executados no Azure, no local ou em qualquer outra plataforma de nuvem. O Azure Service Fabric oferece recursos de monitoramento de integridade e vários modelos de programação internos para simplificar o desenvolvimento de aplicativos baseados em nuvem.

NCache é uma solução de cache distribuído na memória que fornece uma abordagem extremamente escalável para seus aplicativos .NET e Java. NCache também fornece suporte para várias plataformas de nuvem, como Service Fabric e Kubernetes em Azul, Amazon EX e Red Hat OpenShift. Ele melhora o desempenho e a escalabilidade de seus aplicativos em nuvem em picos de carga de transações. O diagrama a seguir mostra a implantação do NCache no Azure Service Fabric:

NCache pode ser implantado com o Azure Service Fabric das seguintes maneiras:

Implantação NCache no cluster do Service Fabric

Para implantar NCache em seu cluster do Service Fabric, a seguir estão os principais componentes que precisam ser implantados em seus aplicativos de nuvem:

NCache Serviço de descoberta

NCache O Discovery Service é uma API Web confiável sem estado que obtém informações em tempo real sobre os endereços IP do NCache servidores para fornecer as informações ao NCache clientes. Com esta informação NCache cria identificadores de cache para os clientes que podem ajudar os clientes a executar operações no cache clusterizado. o NCache serviço de descoberta consulta o serviço de nomenclatura do Service Fabric para obter os endereços IP dos contêineres nos quais NCache servidores estão em execução.

<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 Serviço de cluster

Este serviço é um serviço de contêiner que usa a imagem do Docker de NCache. Este serviço permite NCache servidores rodando dentro de containers para se comunicar uns com os outros através de hosts para formar o cluster de cache usando o Abra modo de configuração e expõe as portas necessárias para comunicação.

<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 Serviço de Gestão

Este serviço é usado para expor o NCache Web Manager para realizar as operações de gerenciamento e monitoramento no cache. Este serviço usa a mesma imagem que o NCache usos do serviço de cluster. A razão de separar o NCache serviço de gestão da NCache serviço de cluster é que no modo de configuração aberta, o mapeamento de host para porta não é permitido. NCache O Web Manager precisa ser acessado fornecendo a porta do host e para isso outro serviço conhecido como NCache serviço de gerenciamento é criado com NAT modo.

<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>

Serviço de aplicativo cliente

Este serviço permite que os contêineres em vários nós se comuniquem entre si. Este serviço é usado para adquirir os contadores do lado do cliente para o monitoramento do cluster de cache.

Todos esses serviços criam NCache implantação dentro de seu cluster de malha de serviço para criar um cluster de cache e, em seguida, realizar operações de monitoramento e gerenciamento nele. Este serviço se comunica com o NCache serviço de descoberta que, em troca, fornece ao cliente os endereços IP dos contêineres.

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

Implantação NCache fora do cluster do Service Fabric

NCache também pode ser acessado pelos serviços do service fabric quando em uma máquina virtual não incluída no conjunto de dimensionamento de máquinas virtuais do service fabric. Nesse caso, NCache descoberta de serviço não é necessária e os aplicativos podem ser fornecidos com os endereços IP do NCache servidores. Acessar NCache de fora do cluster do Service Fabric, você pode fornecer os endereços IP corretos em seu client.ncconf ou por meio da API CacheConnectionOptions fornecida por NCache. Isso permite a comunicação perfeita de microsserviços com NCache fora do cluster do Service Fabric.

O que fazer a seguir?

© Copyright Alachisoft 2002 - . Todos os direitos reservados. NCache é uma marca registrada da Diyatech Corp.