Comment Amazon Aurora pour MySQL ou PostgreSQL distribué la charge de travail entre les nœuds de lecture ?
Résolution
Vous pouvez utiliser le point de terminaison du lecteur pour vous connecter aux nœuds de lecture d'un groupe Amazon Aurora. Pour comprendre comment Amazon Aurora distribué la charge de travail entre les points de terminaison du lecteur, consultez la section Utilisation du point de terminaison du lecteur.
Pour vérifier la distribution de rotation des connexions, exécutez une commande shell. Pour voir comment Aurora tente d'équilibrer la charge de vos connexions au point de terminaison du lecteur, exécutez la commande suivante :
while sleep 5; do dig xxx-cluster.cluster-ro-xxxxxx.us-east1.rds.amazonaws.com|grep CNAME; done
Chaque fois que vous résolvez le point de terminaison du lecteur, vous obtenez une adresse IP d'instance à laquelle vous pouvez vous connecter. Cette adresse IP est choisie en fonction de la distribution de rotation.
La connexion à la base de données à chaque réplique en lecture peut ne pas être distribuée de manière uniforme dans les scénarios suivants :
- Si un client met en cache des informations DNS, vous pouvez constater une différence dans la distribution des connexions. Cela se produit lorsque le client se connecte à la même réplique Aurora à l'aide des paramètres de connexion mis en cache. La mise en cache DNS peut se produire n'importe où, y compris ultérieurement sur votre réseau, dans le système d'exploitation ou dans le conteneur d'applications.
- Si l'instance de base de données est en train de basculer, le point de terminaison du lecteur peut diriger les connexions vers l'instance de base de données principale d’un groupe de bases de données pendant une courte période. Cela se produit lorsqu'une réplique Aurora est promue au rang d'instance de base de données principale.
- Si la réplique de lecture n'est pas disponible ou échoue à un contrôle de santé, les connexions risquent de ne pas être distribués de manière uniforme.
- Si l'application est écrite en Java et que la mise en cache TTL n'a pas été désactivée ou ajustée, les connexions risquent de ne pas être distribué de manière uniforme. Par exemple, les machines virtuelles Java (JVM) peuvent mettre le DNS en cache indéfiniment, si la mise en cache DNS n'est pas configurée autrement. Pour plus d'informations, consultez la section Configuration du TTL de la JVM pour les recherches de noms DNS.
- Si les connexions se produisent simultanément, elles sont envoyées au même point de terminaison du lecteur.
Vous pouvez utiliser des points de terminaison personnalisés si vous souhaitez plus de flexibilité lors de la gestion de la distribution de votre charge de travail. Par exemple, vous pouvez utiliser des points de terminaison personnalisés si vous utilisez différentes tailles d'instance de base de données au sein du groupe. Pour plus d'informations, consultez la section Utilisation de points de terminaison personnalisés.
Informations connexes
Gestion des connexions Amazon Aurora