Présentation du service de détection automatique

Cette page présente le service de détection automatique de Memorystore pour Memcached. Pour savoir comment accéder au service de détection automatique et s'y connecter, consultez la page Utiliser le service de détection automatique.

Le service de détection automatique est un moyen automatisé permettant aux clients de s'adapter automatiquement à l'ajout et à la suppression des adresses IP de nœuds qui se produisent lorsque vous faites évoluer votre instance Memcached.

Si vous n'utilisez pas le service de détection automatique, vous devez gérer manuellement la liste d'adresses IP des nœuds dans votre client Memcached pendant le scaling. La gestion manuelle de la liste d'adresses IP de nœuds entraîne une surcharge supplémentaire, car vous devez vous assurer que les clients sont mis à jour à mesure que l'instance évolue. La détection automatique permet d'automatiser ce travail pour vous.

Vous devez utiliser le point de terminaison de détection automatique à ses fins, et non pour exécuter des commandes Memcached telles que get, set et delete.

Présentation de l'architecture du service de détection automatique

Memorystore pour Memcached expose le service de détection automatique à l'aide d'un point de terminaison de détection. Le point de terminaison de détection est une adresse IP dédiée à votre instance qui renvoie la liste actuelle des nœuds de votre instance Memcached. Chaque instance Memorystore pour Memcached possède un point de terminaison de détection unique. Une fois l'instance créée, l'adresse IP du point de terminaison de la découverte ne change pas.

Pour obtenir les informations de détection automatique de l'instance, interrogez le point de terminaison de détection. Le point de terminaison de détection renvoie les informations suivantes :

Champ Description Type de données Exemple
ID de la version de configuration ID incrémenté pour chaque modification de la liste de nœuds Entier 9
Liste des nœuds Retourne une liste des nœuds actuels et leurs adresses IP. Chaîne node1-ip|node1-ip|node1-port node2-ip|node2-ip|node2-port

Memorystore pour Memcached expose directement le point de terminaison de détection, mais la détection automatique doit également être disponible dans vos bibliothèques clientes. Deux options s'offrent à vous :

  1. Utiliser une bibliothèque cliente compatible avec la détection automatique.

    • Dupliquer le client Memcached Golang.
  2. Ajouter manuellement une logique de détection automatique à votre bibliothèque cliente.

Comportement du service de détection automatique

Le service de détection automatique est cohérent à terme. Il peut s'écouler un certain temps (quelques secondes) pendant lequel la liste des nœuds de détection automatique récupère la configuration de cluster actuelle après une opération de scaling.

La cohérence à terme, en plus de la nature distribuée du service, peut produire le comportement suivant pour les clients. La logique client doit être conçue pour tenir compte de ce comportement :

  • Même client sur deux requêtes distinctes au service de détection automatique peut recevoir deux réponses de détection automatique différentes (alors que le service est incohérent). Cependant, l'une des réponses a un Configuration version ID plus élevé que les clients peuvent utiliser pour gérer les réponses.

  • Deux clients peuvent recevoir deux réponses de détection automatique différentes du service (alors que le service est incohérent), mais ils n'ont pas la possibilité de trouver celle qui est la plus récente, car les clients ne communiquent pas. Dans cet état, l'instance peut renvoyer des erreurs de cache. Dans ce scénario, les clients doivent attendre que le service de détection automatique devienne cohérent.

Étape suivante