Exécution de votre application Memcache avec un service de cache géré Azure

Important

Microsoft recommande tous les nouveaux développements d’utiliser le Cache Redis Azure. Pour obtenir de la documentation et des conseils actuels sur le choix d’une offre Azure Cache, consultez Quelle offre Azure Cache est adaptée à moi ?

Service de cache géré prend en charge la migration des applications clientes Memcache Services cloud basées sur des rôles à utiliser Service de cache géré en fournissant un shim client Memcache. Cette rubrique fournit des conseils sur l’utilisation de ce shim pour permettre à vos applications clientes Memcache d’utiliser Service de cache géré.

Contenu de cette section

  • Vue d'ensemble de Memcache

  • Prise en charge du protocole Memcache

  • Shim de client Memcache

  • Déploiement du shim de client pour les applications Azure

Vue d'ensemble de Memcache

Memcache est une solution de mise en cache en mémoire distribuée qui permet d'accélérer les applications web à grande échelle en réduisant la pression sur la base de données. Combiné à d'autres technologies de façon innovante, Memcache est utilisé par de nombreux grands sites web.

Azure prend en charge le protocole Memcache pour permettre aux clients ayant des implémentations Memcache de migrer facilement vers Azure. Si une application utilise déjà Memcache, il n'est pas nécessaire de remplacer ce code par un nouveau code.

L’exécution de Service de cache géré avec Memcache est une meilleure option que, par exemple, l’exécution de Memcache lui-même dans un rôle de travail. Cela est dû au fait que Service de cache géré offre des fonctionnalités à valeur ajoutée telles que l’arrêt normal, la haute disponibilité, la mise en cache locale, les notifications, la cohérence des données, la haute disponibilité (HA) et un scale-up et un scale-down faciles qui sont transparents pour les clients, pour n’en citer que quelques-uns. Par exemple, le schéma de hachage de serveur et la gestion des partitions dans Service de cache géré avec Memcache aident à équilibrer la charge et à préserver la cohérence des données.

Prise en charge du protocole Memcache

Service de cache géré prend en charge le protocole filaire Memcache. Il existe deux versions du protocole : une version binaire et une version texte.

Un client Memcache doit prévoir la compatibilité avec Azure. Service de cache géré prend en charge presque toutes les API que d’autres implémentations Memcache prennent en charge.

À ce titre, si un utilisateur migre une application Memcache vers Azure et la fait pointer vers l'implémentation Memcache d'Azure, celle-ci devrait continuer à fonctionner sans autre modification.

Shim de client Memcache

Le shim de client Memcache est installé sur le client qui accède au cache. Il s'agit généralement du rôle Azure associé à l'application. Le shim de client prend en charge le cache local.

Le shim est une couche de traduction. Il traduit les appels du client Memcache vers l’API Service de cache géré. Le shim comporte deux parties : un gestionnaire de protocole Memcache et un client Service de cache géré. Le shim ( la couche de traduction) est installé sur le client lui-même, où que les appels Get et Put à Service de cache géré API soient effectués.

Lorsque le client Memcache est pointé sur localhost comme serveur Memcache, les opérations memcache sont d'abord traitées par l'instance locale du shim. Le shim traduit l’opération en requête d’API de cache et l’envoie à l’Service de cache géré.

Déploiement du shim de client pour les applications Azure

Notes

Avant de commencer, vérifiez que vous disposez du point de terminaison de cache et de la clé d’accès de votre cache. Pour plus d’informations sur la création d’un cache, consultez Guide pratique pour créer un cache pour Azure Service de cache géré. Pour plus d’informations sur les clés d’accès, consultez Contrôle de l’accès à l’aide de clés d’accès.

  1. Sur le rôle sur lequel le client Memcache est installé, cliquez avec le bouton droit sur le nom du rôle, puis sélectionnez « Ajouter une référence au package de bibliothèques » pour ouvrir la fenêtre NuGet.

  2. Recherchez « Azure Caching Memcache Shim ». Installez ce package NuGet.

  3. Celui-ci crée la tâche de démarrage, ajoute un point de terminaison interne supplémentaire pour memcache_default, le mappe à 11211, puis ajoute les sections dataCacheClients appropriées aux fichiers App.config et web.config. Vous pouvez modifier ceci sous l'onglet Points de terminaison internes.

  4. Fournissez le point de terminaison Service de cache géré dans l’élément autoDiscovery et la clé d’accès dans authorizationInfo dans dataCacheClientSection du App.config ou Web.config

  5. Le client doit désormais être configuré pour pointer vers le shim. Modifiez la configuration du client Memcache et définissez le serveur sur « localhost ». Le ou les numéros de port corrects doivent également être définis (la valeur par défaut est 11211).