Azure Service Fabric rend le déploiement, la gestion et le packaging d'applications de microservices évolutives et fiables très simples et efficaces. Il simplifie le développement et la gestion des applications cloud ainsi que la mise à l'échelle et l'orchestration fiables des services. L'objectif d'Azure Service Fabric est de fournir aux développeurs une plate-forme très riche qui résout de nombreux problèmes couramment associés au développement d'applications distribuées basées sur le cloud.
NCache fournit son déploiement au sein du cluster Azure Service Fabric pour des performances et une fiabilité améliorées. NCache est une solution de mise en cache distribuée en mémoire qui améliore les performances et l'évolutivité de vos applications en mettant en cache vos données et en résidant plus près des applications.
NCache Détails NCache Déploiement OpenShift NCache Documents AKS
NCache Architecture de déploiement dans Azure Service Fabric
Prenons un aperçu de l'architecture de déploiement globale de NCache dans Azure Service Fabric. L'infrastructure se compose de la ressource de cluster Service Fabric avec toutes ses ressources Azure de prise en charge, y compris un équilibreur de charge Azure et un groupe de machines virtuelles identiques. Un cluster Service Fabric peut avoir plusieurs applications en cours d'exécution qui peuvent être constituées de services individuels, comme cela est courant dans l'architecture basée sur les microservices, et ces services individuels peuvent être écrits dans un langage différent. Service Fabric gère l'évolutivité et la haute disponibilité des applications et de leurs services individuels.
Dans ces applications d'entreprise, une solution de mise en cache distribuée telle que NCache est une partie intégrante pour faciliter la haute performance. NCache peut également être déployé dans l'application Service Fabric en tant que service de conteneur. Dans ce scénario, NCache les serveurs s'exécutent dans les conteneurs sur plusieurs nœuds de l'ensemble de compétences de la machine virtuelle et communiquent entre eux pour former un cache en cluster.
Le service de découverte de cache obtient des informations en temps réel sur les adresses IP des NCache serveurs et fournit ces informations aux clients. Grâce à ces informations, les clients peuvent effectuer des opérations sur le NCache grappe de cache. En mettant tout cela ensemble, le schéma suivant montre le déploiement de NCache dans le cluster Service Fabric :
Passons en revue les détails par étapes du déploiement de NCache pour mieux le comprendre.
NCache Détails Le déploiement de NCache dans le cluster Service Fabric
Étape 1 : Créer un cluster Service Fabric
La première étape consiste à créer un cluster Service Fabric afin de déployer NCache. Créez un groupe de ressources avec une ressource de coffre de clés. Le coffre de clés contient le certificat qui sera utilisé avec le cluster Service Fabric. Pour commencer, vous pouvez commencer avec le modèle ARM pour un cluster Service Fabric à 5 nœuds donné ici puis apportez les modifications suivantes :
- Dans le json fichier, modifiez la valeur par défaut du vmImageSku paramètre dans la paramètres section de 2016-Centre de données à 2016-Centre-de-données-avec-conteneurs. Cela configurera les nœuds VMSS avec les fonctionnalités Docker préinstallées.
- Mettez à jour le modèle ARM pour permettre Mode réseau ouvert.
- Parmi les ports d'équilibreur de charge que vous souhaitez exposer, ajoutez-en un avec une valeur de 8251 qui est la valeur du port sur lequel le NCache Web Manager sera en cours d'exécution. Modifiez le mode de distribution de ce port en IP source. Cela permettrait aux NCache Web Manager doit être accessible avec une session persistante pour fournir un état cohérent entre le serveur et le client lors du processus de création de caches et d'ajout de nœuds à ceux-ci.
Une fois cela fait, vous pouvez déployer le modèle ARM et les ressources et configurations de celui-ci seront provisionnées par Azure Resource Manager. Une fois que l'infrastructure est en place et que toutes les configurations spécifiées dans le modèle ARM ont été vérifiées, passez à l'étape suivante.
Étape 2: Créer NCache Service de cluster
NCache le service de cluster est le service principal en cours d'exécution qui représente le NCache serveur s'exécutant dans les conteneurs sur le service Fabric VMSS. Le NCache les images de conteneur Windows du serveur sont disponibles sur Docker Hub. Le mode de configuration utilisé par ce service est le Ouvert le mode de configuration et ses détails d'utilisation sont expliqués plus loin dans le blog. Le but de ce service est d'exposer les ports suivants requis pour la communication :
- Le port de gestion: Numéro de port 8250 sur lequel les serveurs de cache écoutent les opérations de gestion telles que la création de cache, etc.
- Port client : Numéro de port 9800 pour effectuer toutes les opérations CRUD.
Dans Service Fabric, le Mode réseau ouvert permet à plusieurs conteneurs de partager le même port en leur allouant des adresses IP individuelles à partir du pool d'adresses IP secondaires de la machine virtuelle sur laquelle ils s'exécutent. En cas de NCache service, cela aurait l'avantage supplémentaire de permettre au NCache conteneurs pour communiquer au-delà des limites de l'hôte lorsqu'ils font partie d'un cache en cluster. Ce n'est pas 'possible avec la valeur par défaut NAT mode.
Ci-dessous est l'échantillon NCache fichier manifeste du service de 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> |
Étape 3: Créer NCache Gestion des services
NCache Management Service est également un service de conteneur et utilise la même image Docker que le NCache service de grappe. Le but de ce service est d'exposer le port 8251 à des fins de gestion et de surveillance en accédant au NCache Web Manager. 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. Vous trouverez ci-dessous l'exemple de fichier manifeste de service pour NCache Service de gestion.
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> |
Étape 4: Créer NCache Service Découverte
Les NCache le service de découverte est un ASP fiable et sans état.NET Core API Web qui consulte le service de nommage Service Fabric et acquiert les points de terminaison qui ont été enregistrés par le NCache Service de grappe. Les informations récupérées en accédant aux points de terminaison sont ensuite fournies aux clients sous forme de réponse HTTP.
Les applications clientes peuvent alors effectuer des opérations sur le NCache cache en cluster en créant une connexion au cache à l'aide des informations d'adresse IP acquises. Le manifeste de service pour NCache Le service de découverte est illustré ci-dessous :
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> |
Étape 5 : Créer un cluster de cache
Cette partie est l'endroit où la création du cache a lieu. Pour commencer, assurez-vous que le NCache Le service de découverte est opérationnel. Depuis le service de découverte, accédez à l'URI qui est constituée de DNS en cluster et du port sur lequel le service de découverte de cache écoute. Lors de l'ouverture de l'URI suivi du DNS, les adresses IP de chaque point de terminaison sont affichées qui sont enregistrées par le NCache après-vente.
Une fois que vous vous êtes assuré que le service est opérationnel, vous pouvez maintenant accéder au NCache Gestionnaire Web à créer NCache cache groupé. Pour accéder au NCache Web Manager, accédez-y en utilisant le DNS suivi du numéro de port 8251. Cela vous amène à la fenêtre principale de NCache Gestionnaire Web. Créez le cluster de cache en suivant les étapes de la section Créer un cluster de cache dans le Documentation.
Étape 6 : Créer un service d'application client
Le différent NCache les services clients envoient des requêtes HTTP au NCache Discovery Service qui fournit aux clients les adresses IP des conteneurs sur lesquels NCache est exécuté en réponse. Les clients peuvent ensuite utiliser les adresses IP pour créer des connexions de cache avec lesquelles ils communiquent avec le NCache cache groupé.
Si vous avez besoin d'une surveillance pour côté client NCache compteurs de performance et/ou nécessitent un out-proc caches clients avec vos services client, les applications client doivent être déployées en tant que services de conteneur dont les images source incluent le NCache installation en mode client cache. Dans ce cas, le service client utilise également le mode réseau ouvert.
Vous trouverez ci-dessous l'exemple de fichier manifeste de service pour un service d'application client avec NCache installation 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 Détails NCache Déploiement OpenShift NCache Docker Containers
Étape 7 : exécuter les applications clientes
Une fois le cache opérationnel, vous pouvez commencer à effectuer des opérations CRUD côté client. Les applications client commenceront initialement par acquérir les adresses IP des NCache conteneurs de serveur du NCache Discovery Service et établissez une connexion avec le cache. Une fois la connexion établie, la gestion du cache et les opérations CRUD peuvent se poursuivre.
Vous pouvez valider la connexion client à l'aide de la NCache Responsable Web et NCache Web Monitor expliqué à l'étape suivante.
Étape 8 : Surveillance NCache Grappe
NCache Web Manager a un intégré NCache Moniteur Web outil qui vous aide à surveiller votre cluster de cache. La surveillance de votre cluster de cache vous donne des informations en temps réel sur la santé du cluster de cache, l'activité du cache, le nombre d'opérations effectuées et bien plus encore. La surveillance de votre cluster de cache vous aide à prendre les mesures appropriées pour des problèmes tels que les surcharges de mémoire, etc.
Suivez les étapes de la documentation pour surveiller votre cluster de cache. Il vous montre divers tableaux de bord tels que le tableau de bord de rapport ou le tableau de bord graphique ainsi que vos compteurs client et serveur.
Étape 9 : mise à l'échelle NCache Grappe
NCache étant de nature très évolutive, vous permet de ajouter des serveurs à votre cluster de cache à l'exécution. NCache Web Manager vous permet d'ajouter des serveurs dans le cluster de cache. Échelle simplement le NCache service de cluster au nombre d'instances dont vous avez besoin. Une fois le nouveau NCache conteneurs de serveur sont en cours d'exécution, vous pouvez les ajouter à votre cluster de cache sans avoir à arrêter le cluster de cache.
Vous pouvez ensuite surveiller votre cluster de cache pour voir l'activité sur le nœud de serveur ajouté.
Conclusion
Pour rassembler l'ensemble de l'article, nous avons couvert le déploiement d'Azure Service Fabric dans NCache. NCache est une solution de mise en cache très évolutive et garantit des performances élevées et des transactions extrêmement rapides. Ces avantages peuvent être obtenus en suivant quelques étapes simples et en déployant NCache dans votre environnement conteneurisé avec Azure Service Fabric.