Azure Service Fabric Implementación de NCache

Microsoft Service Fabric es una plataforma de aplicaciones que simplifica la creación e implementación de aplicaciones basadas en microservicios para brindar a las organizaciones aplicaciones confiables, escalables y ágiles, ya sea que se ejecuten en Azure, en las instalaciones o en cualquier otra plataforma en la nube. Azure Service Fabric ofrece funciones de supervisión del estado y proporciona varios modelos de programación integrados para simplificar el desarrollo de aplicaciones basadas en la nube.

NCache es una solución de almacenamiento en caché distribuida en memoria que proporciona un enfoque extremadamente escalable para sus aplicaciones .NET y Java. NCache también brinda soporte para varias plataformas en la nube como Service Fabric y Kubernetes en Azure, Amazon EKS y Red Hat OpenShift. Mejora el rendimiento y la escalabilidad de sus aplicaciones en la nube en cargas máximas de transacciones. El siguiente diagrama muestra el despliegue de NCache en Azure Service Fabric:

NCache se puede implementar con Azure Service Fabric de las siguientes maneras:

Despliegue NCache dentro del clúster de Service Fabric

Para desplegar NCache en su clúster de Service Fabric, los siguientes son los componentes principales que deben implementarse dentro de sus aplicaciones en la nube:

NCache Servicio de descubrimiento

NCache Discovery Service es una API web confiable sin estado que obtiene información en tiempo real sobre las direcciones IP de los NCache servidores para proporcionar la información a los NCache clientela. con esta informacion NCache crea identificadores de memoria caché para los clientes que pueden ayudar a los clientes a realizar operaciones en la memoria caché en clúster. los NCache El servicio de descubrimiento consulta con el servicio de nombres de Service Fabric para obtener las direcciones IP de los contenedores en los que NCache los servidores se están ejecutando.

<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 Servicio de Cluster

Este servicio es un servicio de contenedor que utiliza la imagen de Docker de NCache. Este servicio permite NCache servidores que se ejecutan dentro de contenedores para comunicarse entre sí a través de hosts para formar el clúster de caché utilizando el Abierto modo de configuración y expone los puertos necesarios para la comunicación.

<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 Servicio de Administracion

Este servicio se utiliza para exponer el NCache Administrador web para realizar las operaciones de administración y monitoreo en el caché. Este servicio utiliza la misma imagen que el NCache usos del servicio de clúster. La razón para separar la NCache servicio de gestión de la NCache servicio de clúster es que en el modo de configuración abierta, no se permite la asignación de host a puerto. NCache Es necesario acceder a Web Manager proporcionando el puerto de host y para ello otro servicio conocido como NCache servicio de gestión se crea con 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>

Servicio de aplicaciones de cliente

Este servicio permite que los contenedores de varios nodos se comuniquen entre sí. Este servicio se utiliza para adquirir los contadores del lado del cliente para la supervisión del clúster de caché.

Todos estos servicios crean éxito NCache implementación dentro de su clúster de Service Fabric para crear un clúster de caché y luego realizar operaciones de supervisión y administración en él. Este servicio se comunica con el NCache servicio de descubrimiento que a cambio proporciona al cliente las direcciones IP de los contenedores.

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

Despliegue NCache fuera del clúster de Service Fabric

NCache Los servicios de Service Fabric también pueden acceder a ellos cuando se encuentran en una máquina virtual que no está incluida en el conjunto de escalado de máquinas virtuales de Service Fabric. En este caso, NCache no se requiere el descubrimiento de servicios y las aplicaciones se pueden proporcionar con las direcciones IP de los NCache servidores. Acceder NCache desde fuera del clúster de Service Fabric, puede proporcionar las direcciones IP correctas en su archivo client.ncconf o a través de la API CacheConnectionOptions proporcionada por NCache. Esto permite una comunicación fluida de los microservicios con NCache fuera del clúster de Service Fabric.

¿Qué hacer a continuación?

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.