Azure Service Fabric Déploiement de NCache

Microsoft Service Fabric est une plateforme d'applications qui simplifie la création et le déploiement d'applications basées sur des microservices pour fournir aux organisations des applications fiables, évolutives et agiles, qu'elles s'exécutent dans Azure, sur site ou sur toute autre plateforme cloud. Azure Service Fabric offre des fonctionnalités de surveillance de l'intégrité et fournit divers modèles de programmation intégrés pour simplifier le développement d'applications basées sur le cloud.

NCache est une solution de mise en cache distribuée en mémoire qui offre une approche extrêmement évolutive pour vos applications .NET et Java. NCache fournit également un support pour diverses plates-formes cloud telles que Service Fabric et Kubernetes dans Azure, Amazon EKS ainsi que le Red Hat OpenShift. Il améliore les performances et l'évolutivité de vos applications cloud lors des pics de charge de transactions. Le diagramme suivant montre le déploiement de NCache dans Azure Service Fabric :

NCache peut être déployé avec Azure Service Fabric des manières suivantes :

Déployer NCache au sein du cluster Service Fabric

Afin de déployer NCache dans votre cluster Service Fabric, voici les principaux composants qui doivent être déployés dans vos applications cloud :

NCache Service Découverte

NCache Discovery Service est une API Web fiable et sans état qui obtient les informations en temps réel sur les adresses IP des NCache serveurs pour fournir les informations aux NCache clients. Avec ces informations NCache crée des descripteurs de cache pour les clients qui peuvent aider les clients à effectuer des opérations sur le cache en cluster. Le NCache Le service de découverte consulte le service de nommage Service Fabric pour obtenir les adresses IP des conteneurs sur lesquels NCache les serveurs tournent.

<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 Service de cluster

Ce service est un service de conteneur qui utilise l'image Docker de NCache. Ce service permet NCache serveurs s'exécutant dans des conteneurs pour communiquer entre eux sur des hôtes afin de former le cluster de cache en utilisant le Ouvert mode de configuration et expose les ports requis pour la communication.

<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 Gestion des services

Ce service est utilisé pour exposer les NCache Web Manager pour effectuer les opérations de gestion et de surveillance dans le cache. Ce service utilise la même image que le NCache utilisations du service de cluster. La raison de séparer le NCache service de gestion du NCache service de cluster est qu'en mode de configuration ouvert, le mappage hôte-port n'est pas autorisé. NCache Web Manager doit être accessible en fournissant le port hôte et pour cela un autre service appelé NCache service de gestion est créé avec NAT mode.

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

Service d'application client

Ce service permet aux conteneurs de plusieurs nœuds de communiquer entre eux. Ce service est utilisé pour acquérir les compteurs côté client pour la surveillance du cluster de cache.

Tous ces services créent des succès NCache déploiement à l'intérieur de votre cluster Service Fabric pour créer un cluster de cache, puis effectuer des opérations de surveillance et de gestion sur celui-ci. Ce service communique avec le NCache service de découverte qui fournit en retour au client les adresses IP des conteneurs.

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

Déployer NCache en dehors du cluster Service Fabric

NCache sont également accessibles par les services Service Fabric lorsqu'ils se trouvent sur une machine virtuelle non incluse dans le groupe de mise à l'échelle de la machine virtuelle Service Fabric. Dans ce cas, NCache la découverte de service n'est pas nécessaire et les applications peuvent être fournies avec les adresses IP du NCache les serveurs. Accéder NCache depuis l'extérieur du cluster Service Fabric, vous pouvez fournir les adresses IP correctes dans votre client.ncconf ou via l'API CacheConnectionOptions fournie par NCache. Cela permet une communication transparente des microservices avec NCache en dehors du cluster Service Fabric.

Que faire ensuite?

© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.