Panoramica della replica di lettura
Le repliche di lettura sono copie di sola lettura dell'istanza MySQL primaria del sistema DB all'interno della stessa area. Offrono scalabilità e prestazioni più elevate per carichi di lavoro di lettura intensi. Riducono la latenza delle query in base alle letture di scale-out.
La replica di lettura non è supportata in un sistema DB Sempre gratis.
Le repliche di lettura vengono avviate all'avvio di un sistema DB, arrestate all'arresto del sistema DB e eliminate all'eliminazione del sistema DB. Ogni replica di lettura viene aggiornata automaticamente utilizzando la replica asincrona. Puoi creare repliche di lettura su un sistema DB standalone o High Availability. Le repliche di lettura non sono supportate nelle forme con meno di 8 ECPU o meno di 4 OCPU.
Puoi creare al massimo 18 repliche di lettura in un sistema DB. Ogni replica di lettura ha il proprio endpoint. Ad esempio, se si dispone di cinque repliche di lettura, sono disponibili cinque endpoint, uno per ogni replica di lettura. Se si desidera eseguire un subset di query sull'istanza primaria e utilizzare le repliche di lettura, è necessario configurare l'applicazione in modo che utilizzi gli endpoint appropriati.
Puoi connetterti a una replica di lettura in modo simile alla connessione a un sistema DB utilizzando un'istanza di computazione, una sessione bastion o una VPN. Vedere Connessione a un sistema DB.
Le repliche di lettura possono essere in ritardo rispetto all'istanza primaria. Questo viene misurato dalla metrica read replica lag. A seconda del carico di lavoro di ogni replica di lettura, le repliche di lettura possono presentare un ritardo di replica di lettura diverso. Anche se il carico di lavoro è lo stesso, le repliche di lettura possono presentare un ritardo di replica di lettura diverso a seconda delle risorse, ad esempio CPU e memoria. È possibile creare allarmi per monitorare la metrica e notificare quando le metriche soddisfano i trigger specificati dagli allarmi. Vedere Utilizzo delle metriche per creare allarmi.
Il servizio MySQL HeatWave esegue il recupero automatico su qualsiasi replica di lettura non riuscita. Durante il recupero, la replica di lettura è impostata sullo stato Updating e non può accettare connessioni client. Una volta completato il recupero, la replica di lettura viene impostata sullo stato Active e diventa operativa. Se una replica di lettura non è riuscita oltre il recupero e non può più essere replicata dal sistema DB, la replica di lettura viene impostata sullo stato Needs Attention. In questo caso, è necessario eliminare la replica di lettura e crearne una nuova.
Se si modificano le definizioni degli account e i relativi privilegi (ad esempio la password) nel sistema DB associato, le modifiche vengono propagate alle repliche di lettura. Non è necessario modificare la password in ogni replica di lettura.
Non è possibile configurare una replica di lettura come server di origine di una replica in uscita; è possibile configurare solo un sistema DB come server di origine.
Una replica di lettura eredita il certificato di sicurezza del sistema DB associato. Non è possibile aggiornare il certificato di sicurezza della replica di lettura.
Eredita e sostituisci
Per impostazione predefinita, una replica di lettura eredita la forma, la configurazione e la versione dal sistema DB. È possibile sostituire queste proprietà in una replica di lettura per creare una replica di lettura con una forma, una configurazione o una versione diverse rispetto al sistema DB. Quando una replica di lettura eredita una proprietà dal sistema DB, anche la modifica della proprietà nel sistema DB comporta la modifica della proprietà nella replica di lettura allo stesso valore. Quando una replica di lettura esegue l'override di una proprietà dal sistema DB, la modifica della proprietà nel sistema DB non influisce sulla proprietà della replica di lettura.
Load Balancer replica di lettura
Quando crei la prima replica di lettura di un sistema DB, viene creato automaticamente un load balancer di replica di lettura che distribuisce il traffico di lettura tra le repliche di lettura. Tutte le repliche di lettura degli stessi sistemi DB vengono aggiunte come backend al load balancer. Se per qualsiasi motivo la creazione del load balancer della replica di lettura non riesce, la replica di lettura non viene creata. Un load balancer di replica di lettura viene eliminato solo quando si elimina il sistema DB associato.
- Leggi il criterio del load balancer di replica: il criterio di distribuzione del bilanciamento del carico del load balancer si basa su un hash a 5 tuple delle informazioni relative al protocollo IP, alla porta e all'IP di origine e di destinazione. Questo criterio hash a 5 tuple fornisce l'affinità di sessione all'interno di una determinata sessione TCP o UDP, in cui i pacchetti nella stessa sessione vengono indirizzati allo stesso server backend dietro il load balancer di rete.
Il load balancer di replica di lettura distribuisce le connessioni tra tutte le repliche di lettura attive. È possibile distribuire connessioni diverse a repliche di lettura diverse, ma tutte le query emesse dalla stessa connessione vengono sempre inoltrate alla stessa replica di lettura.
- Timeout inattività connessioni: il load balancer tiene traccia dello stato di tutti i flussi TCP che lo attraversano. Una combinazione di protocollo IP, indirizzi IP di origine e destinazione e porte definisce un flusso. Il flusso può essere rimosso se non viene ricevuto traffico dal client o dal server per un periodo più lungo del timeout di inattività. Tutti i pacchetti TCP ricevuti dopo il timeout di inattività vengono eliminati. La durata del timeout di inattività per i flussi TCP è di otto ore. Impossibile modificare la durata del timeout di inattività. Se la connessione è attualmente inutilizzata e si desidera mantenere attiva la connessione, impostare TCP keep-alive sul client, che invia i pacchetti TCP keep-alive per mantenere attiva la connessione.
Nota
Tutti i load balancer di replica di lettura creati prima del 10 ottobre 2023 prevedono un timeout di inattività predefinito di sei minuti. Se si desidera aumentare il timeout di inattività a otto ore, contattare il Supporto Oracle.
- Non riuscito o richiede lo stato di attenzione: se la replica di lettura si trova nello stato Non riuscito o richiede attenzione, il load balancer rimuove la replica di lettura dal backend.
- Stato inattivo: se la replica di lettura si trova in stato inattivo, il load balancer non instrada il traffico verso di essa.
- Stato attivo: se la replica di lettura si trova in stato attivo, il load balancer instrada il traffico verso di essa.
Requisiti dell'indirizzo IP
- Uno per l'endpoint del sistema DB. Le connessioni effettuate a questo endpoint possono eseguire operazioni sia di lettura che di scrittura. Le operazioni di lettura restituiscono sempre dati aggiornati.
- 18 per gli endpoint di replica a 18 letture. Le connessioni effettuate a uno qualsiasi di questi endpoint possono eseguire operazioni di sola lettura. Le operazioni di lettura possono restituire dati leggermente obsoleti a seconda del ritardo della replica.
- Uno per l'endpoint del load balancer di replica di lettura. Le connessioni effettuate a questo endpoint vengono distribuite tra le repliche di lettura attive.
Argomenti correlati