Exporter (0) Imprimer
Développer tout

À propos de In-Role Cache pour Azure Cache

Mis à jour: février 2015

noteRemarque
Pour obtenir des conseils sur le choix de l'offre Azure Cache appropriée pour votre application, consultez Choix de l'offre Azure Cache appropriée.

La In-Role Cache prend en charge l'hébergement des services de mise en cache sur les rôles Azure. Dans ce modèle, le cache fait partie de votre service dans le cloud. Un rôle dans le service cloud est sélectionné pour héberger la In-Role Cache. Les instances en cours d'exécution de ce rôle rejoignent les ressources de mémoire pour former un cluster de cache. Ce cluster de cache privé est disponible uniquement pour les rôles qui appartiennent au même déploiement. Il existe deux topologies de déploiement principales pour le In-Role Cache : topologie colocalisée et topologie dédiée. Les rôles colocalisés hébergent également le code et les services d'autres applications sans mise en cache. Les rôles dédiés sont des rôles de travail utilisés uniquement pour mise en cache. Les rubriques suivantes décrivent ces topologies de mise en cache de façon plus détaillée.

Pour accéder à une démonstration détaillée du In-Role Cache basé sur des rôles, consultez Utilisation d'Azure In-Role Cache. Pour accéder à des exemples téléchargeables, consultez Exemples Azure In-Role Cache.

Cette section fournit une vue d'ensemble des trois principaux concepts liés à la In-Role Cache basée sur des rôles.

  1. Cluster de cache

  2. Caches nommés

  3. Clients de cache

Les rôles Azure ont une ou plusieurs instances. Chaque instance est une machine virtuelle configurée pour héberger le rôle spécifié. Lorsqu'un rôle pour lequel la In-Role Cache est activée s'exécute sur plusieurs instances, un cluster de cache est formé. Un cluster de cache est un service de mise en cache distribué qui utilise la mémoire combinée de tous les ordinateurs dans le cluster. Les applications peuvent ajouter et récupérer des éléments à partir du cluster de cache sans identifier l'ordinateur de stockage des éléments. Si la haute disponibilité est activée, une copie de sauvegarde de l'élément est stockée automatiquement sur une autre instance de machine virtuelle.

noteRemarque
Seul un cluster de cache est pris en charge pour chaque service cloud. Il est possible de configurer plusieurs clusters de cache dans un service cloud en spécifiant des comptes de stockage distincts pour chaque rôle. Cette configuration n'est toutefois pas prise en charge.

Lorsque vous activez la In-Role Cache sur un rôle Azure, vous spécifiez la quantité de mémoire qui peut être utilisée pour la mise en cache. Dans un scénario colocalisé, vous choisissez un pourcentage de la mémoire disponible sur les machines virtuelles qui hébergent le rôle. Dans un scénario dédié, toute la mémoire disponible sur les machines virtuelles est utilisée pour la mise en cache. La quantité de mémoire disponible reste toutefois inférieure à celle de la mémoire physique sur la machine virtuelle, en raison des besoins en mémoire du système d'exploitation.

Aussi, la mémoire totale de la mise en cache dépend de la mémoire de rôle réservée pour la mise en cache, multipliée par le nombre de rôles. Vous pouvez mettre à l'échelle la mémoire totale de la mise en cache de façon efficace en augmentant ou en diminuant le nombre d'instances exécutées pour ce rôle.

WarningAvertissement
Lorsque vous diminuez le nombre d'instances exécutées du rôle hébergeant In-Role Cache, vous devez réduire le nombre d'instances de trois au maximum à chaque fois. Une fois la modification appliquée, vous pouvez supprimer jusqu'à trois autres instances exécutées. Vous devez répéter cette opération jusqu'à atteindre le nombre requis d'instances exécutées. L'ajout simultané de plus de trois instances provoque l'instabilité du cluster de cache.

Chaque cluster de cache maintient des informations partagées sur l'état d'exécution du cluster dans le stockage Azure. Vous pouvez utiliser l'émulateur de stockage Azure dans le cadre du développement. Les rôles déployés doivent spécifier un compte de stockage Azure valide. Dans Visual Studio, vous pouvez spécifier le compte de stockage approprié sous l'onglet Mise en cache des propriétés du rôle.

Chaque cluster de cache inclut au moins un cache nommé default. Grâce à la In-Role Cache basée sur des rôles, vous pouvez également ajouter des caches nommés. Plusieurs paramètres peuvent être modifiés pour chaque cache. La capture d'écran suivante montre la section Paramètres du cache nommé de l'onglet Mise en cache sous les paramètres du rôle Visual Studio.

Propriétés de Caching des caches nommés

Dans Visual Studio, cliquez sur le bouton Ajouter un cache nommé pour ajouter d'autres caches nommés. Dans l'exemple précédent, deux caches supplémentaires ont été ajoutés (NamedCache1 et NamedCache2). Chaque cache a des paramètres différents. Vous pouvez modifier les paramètres en sélectionnant et en modifiant les champs spécifiques dans le tableau.

Les caches nommés offrent davantage de souplesse aux concepteurs d'application. Chaque cache nommé a ses propres propriétés. Par exemple, l'option Haute disponibilité peut être activée pour un cache pour tirer parti de la haute disponibilité. Il est possible que d'autres caches ne requièrent pas ce paramètre et que la haute disponibilité requière deux fois plus de mémoire pour chaque élément en cache. Il est préférable d'utiliser la haute disponibilité sur les seuls caches qui en ont besoin. D'autres scénarios peuvent impliquer l'utilisation de plusieurs caches avec diverses propriétés pour satisfaire les besoins de l'application.

Un client de cache est un code d'application qui stocke et récupère des éléments à partir du cluster de cache. Avec la In-Role Cache sur des rôles, les clients de cache doivent faire partie du même rôle de mise en cache ou être intégrés à d'autres rôles dans le déploiement. Configurez les clients de cache à l'aide des fichiers de configuration de l'application ou web. Pour plus d'informations, consultez Procédure : Préparation de Visual Studio à l'utilisation d'Azure In-Role Cache. L'exemple suivant montre l'élément dataCacheClient dans un fichier de configuration.

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="CachingRole1" />
    <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
  </dataCacheClient>
</dataCacheClients>

Dans l'exemple précédent, l'élément autoDiscover a un attribut identifier défini sur CachingRole1. Cet identificateur spécifie que la In-Role Cache est activée pour CachingRole1. Il fournit l'emplacement du serveur de cache. Le client de cache utilise CachingRole1 automatiquement dans toutes les opérations de mise en cache.

Une fois le client de cache configuré, il peut accéder à tous les caches selon leur nom. L'exemple suivant accède au cache NamedCache1 et y ajoute un élément.

DataCache cache = new DataCache("NamedCache1", "default");
cache.Put("testkey", "testobject");

Le constructeur DataCache utilise deux paramètres : le nom du cache et le nom de la section dataCacheClient. Pour plus d'informations sur le nom du cache, consultez la section précédente sur les Caches nommés.

Voir aussi

Concepts

Cache

Afficher:
© 2015 Microsoft