Présentation des répliques de lecture
Les répliques en lecture sont des copies en lecture seule de l'instance MySQL principale du système de base de données dans la même région. Elles offrent une évolutivité et des performances supérieures pour les charges de travail lourdes en lecture. Elles augmentent les lectures, c'est-à-dire réduisent la latence des requêtes.
La réplique de lecture n'est pas prise en charge dans un système de base de données Toujours gratuit.
Les répliques de lecture sont démarrées lorsqu'un système de base de données est démarré, arrêtées lorsque le système de base de données est arrêté et supprimées lorsque le système de base de données est supprimé. Chaque réplique de lecture est automatiquement mise à jour à l'aide de la réplication asynchrone. Vous pouvez créer des répliques de lecture sur un système de base de données autonome ou haute disponibilité. Les répliques de lecture ne sont pas prises en charge sur les formes disposant de moins de 8 ECPU ou de moins de 4 OCPU.
Vous pouvez créer un maximum de 18 répliques de lecture dans un système de base de données. Chaque réplique de lecture possède sa propre adresse. Par exemple, si vous disposez de cinq répliques de lecture, vous disposez de cinq adresses, une pour chaque réplique de lecture. Si vous voulez exécuter un sous-ensemble de requêtes sur l'instance principale et vous reposer sur les répliques de lecture, vous devez configurer l'application de sorte qu'elle utilise les adresses appropriées.
Vous pouvez vous connecter à une réplique de lecture de la même manière que vous pouvez vous connecter à un système de base de données à l'aide d'une instance de calcul, d'une session de bastion ou d'un VPN. Reportez-vous à Connexion à un système de base de données.
Les répliques de lecture peuvent être en retard par rapport à l'instance principale. Cette valeur est mesurée par la mesure read replica lag
. Selon la charge globale de chaque réplique de lecture, les répliques de lecture peuvent présenter un décalage de réplique de lecture différent. Même si la charge globale est identique, les répliques de lecture peuvent présenter un décalage de réplique de lecture différent en fonction de ses ressources telles que la CPU et la mémoire. Vous pouvez créer des alarmes pour surveiller la mesure et vous avertir lorsque les mesures répondent aux déclencheurs spécifiés par une alarme. Reportez-vous à Utilisation de mesures pour créer des alarmes.
Le service HeatWave effectue une récupération automatique sur toute réplique de lecture ayant échoué. Pendant la récupération, la réplique de lecture est définie sur l'état Updating
et ne peut pas accepter les connexions client. Une fois la récupération réussie, la réplique de lecture prend l'état Active
et devient opérationnelle. Si une réplique de lecture a échoué au-delà de la récupération et ne peut plus effectuer de réplication à partir du système de base de données, la réplique de lecture est définie sur l'état Needs Attention
. Dans ce cas, vous devez supprimer la réplique de lecture et en créer une nouvelle.
Si vous modifiez les définitions de compte et leurs privilèges (tels que le mot de passe) dans le système de base de données associé, les modifications sont propagées vers les répliques de lecture. Vous n'avez pas besoin de modifier le mot de passe sur chaque réplique de lecture.
Vous ne pouvez pas configurer une réplique de lecture en tant que serveur source d'une réplication sortante ; vous pouvez uniquement configurer un système de base de données en tant que serveur source.
Une réplique de lecture hérite du certificat de sécurité du système de base de données associé. Vous ne pouvez pas mettre à jour le certificat de sécurité de la réplique de lecture.
Hériter et remplacer
Par défaut, une réplique de lecture hérite de la forme, de la configuration et de la version du système de base de données. Vous pouvez remplacer ces propriétés sur une réplique de lecture afin de créer une réplique de lecture avec une forme, une configuration ou une version différente de celle du système de base de données. Lorsqu'une réplique de lecture hérite d'une propriété du système de base de données, la modification de la propriété sur le système de base de données modifie également la propriété sur la réplique de lecture sur la même valeur. Lorsqu'une réplique de lecture remplace une propriété du système de base de données, la modification de la propriété sur le système de base de données n'a aucune incidence sur la propriété de la réplique de lecture.
Read Replica Load Balancer
Lorsque vous créez la première réplique de lecture d'un système de base de données, un équilibreur de charge de réplique de lecture est créé automatiquement, ce qui répartit le trafic de lecture entre les répliques de lecture. Toutes les répliques de lecture des mêmes systèmes de base de données sont ajoutées en tant que back-end à l'équilibreur de charge. Si la création de l'équilibreur de charge de réplique de lecture échoue pour une raison quelconque, la réplique de lecture n'est pas créée. Un équilibreur de charge de réplique de lecture est supprimé uniquement lorsque vous supprimez le système de base de données associé.
Un équilibreur de charge de réplique de lecture dispose d'une adresse IP privée et vous ne pouvez pas y accéder directement à partir d'Internet. Vous pouvez vous connecter à l'équilibreur de charge de réplique de lecture de la même manière qu'à un système de base de données, à l'aide d'une instance de calcul, d'une session de bastion ou d'un VPN. Reportez-vous à Connexion à un système de base de données.
- Stratégie d'équilibreur de charge de réplique de lecture : la stratégie de distribution d'équilibrage de charge de l'équilibreur de charge est basée sur un hachage à 5 tuples des informations de protocole IP, de port et d'adresse IP source et de destination. Cette stratégie de hachage à 5 tuples fournit une affinité de session au sein d'une session TCP ou UDP donnée, où les paquets de la même session sont dirigés vers le même serveur back-end derrière l'équilibreur de charge réseau.
L'équilibreur de charge de réplique de lecture répartit les connexions entre toutes les répliques de lecture actives. Différentes connexions peuvent être distribuées à différentes répliques de lecture, mais toutes les requêtes émises par la même connexion sont toujours transmises à la même réplique de lecture.
- Délai d'expiration des connexions : l'équilibreur de charge suit l'état de tous les flux TCP qui le traversent. Une combinaison de protocole IP, de ports et d'adresses IP source et de destination définit un flux. Le flux peut être enlevé si aucun trafic n'est reçu en provenance du client ou du serveur au-delà du délai d'inactivité. Tous les paquets TCP reçus après le délai d'inactivité sont supprimés. La durée du délai d'inactivité pour les flux TCP est de huit heures. La durée d'inactivité ne peut pas être modifiée. Si la connexion n'est actuellement pas utilisée et que vous souhaitez maintenir la connexion en vie, définissez le maintien de connexion TCP sur le client, qui envoie les paquets de maintien de connexion TCP pour maintenir la connexion en vie.
Remarque
Tous les équilibreurs de charge de réplique de lecture créés avant le 10 octobre 2023 ont un délai d'inactivité par défaut de six minutes. Si vous souhaitez augmenter le délai d'inactivité à huit heures, contactez le support technique Oracle.
Un équilibreur de charge de réplique de lecture gère les différents états de la réplique de lecture de la manière suivante :
- Etat Echec ou nécessitant une attention : si la réplique de lecture est dans l'état Echec ou nécessite une attention, l'équilibreur de charge enlève la réplique de lecture du back-end.
- Etat inactif : si la réplique de lecture est à l'état inactif, l'équilibreur de charge n'y achemine pas le trafic.
- Etat actif : si la réplique de lecture est à l'état actif, l'équilibreur de charge achemine le trafic vers celle-ci.
Exigences en matière d'adresses IP
Si un système de base de données autonome dispose de 18 répliques de lecture, le sous-réseau dans lequel le système de base de données est présent requiert le nombre d'adresses IP suivant :
- Un pour l'adresse de système de base de données. Les connexions établies avec cette adresse peuvent effectuer des opérations de lecture et d'écriture. Les opérations de lecture renvoient toujours des données à jour.
- 18 pour les 18 adresses de réplique de lecture. Les connexions à l'une de ces adresses peuvent effectuer des opérations en lecture seule. Les opérations de lecture peuvent renvoyer des données légèrement obsolètes en fonction du décalage de réplication.
- Une pour l'adresse d'équilibreur de charge de réplication de lecture. Les connexions établies avec cette adresse sont réparties entre les répliques de lecture actives.
Rubriques connexes