Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Scrittura di nuovi dati durante una migrazione online
Il primo passo di un piano di migrazione online è garantire che tutti i nuovi dati scritti dall'applicazione siano archiviati in entrambi i database, nel cluster Cassandra esistente e in Amazon Keyspaces. L'obiettivo è fornire una visione coerente tra i due data store. È possibile farlo applicando tutte le nuove scritture a entrambi i database. Per implementare la doppia scrittura, considera una delle tre opzioni seguenti.
Migrazione del proxy ZDM a doppia scrittura per Amazon Keyspaces: utilizzando il proxy ZDM per Amazon Keyspaces disponibile su Github
, puoi migrare i carichi di lavoro di Apache Cassandra su Amazon Keyspaces senza tempi di inattività delle applicazioni. Questa soluzione avanzata implementa le migliori pratiche ed estende le funzionalità ufficiali di ZDM Proxy. AWS -
Esegui migrazioni online tra Apache Cassandra e Amazon Keyspaces.
-
Scrivi i dati contemporaneamente nelle tabelle di origine e di destinazione senza applicazioni di refactoring.
-
Convalida le query tramite operazioni di doppia lettura.
La soluzione offre i seguenti miglioramenti con cui lavorare con Amazon Keyspaces. AWS
-
Distribuzione in container: utilizza un'immagine Docker preconfigurata di Amazon Elastic Container Registry (Amazon ECR) per le distribuzioni. VPC-accessible
-
Infrastruttura come codice: esegui l'implementazione utilizzando modelli per la configurazione automatica AWS CloudFormation . AWS Fargate
-
Compatibilità con Amazon Keyspaces: accedi alle tabelle di sistema con adattamenti personalizzati per Amazon Keyspaces.
La soluzione funziona su Amazon ECS con Fargate, fornendo scalabilità serverless in base alle esigenze del carico di lavoro. Un sistema di bilanciamento del carico di rete distribuisce il traffico delle applicazioni in entrata su più attività di Amazon ECS per un'elevata disponibilità.
-
Doppia scrittura delle applicazioni: puoi implementare la doppia scrittura con modifiche minime al codice dell'applicazione sfruttando le librerie e i driver client Cassandra esistenti. È possibile implementare la doppia scrittura nell'applicazione esistente o creare un nuovo livello nell'architettura per gestire la doppia scrittura. Per ulteriori informazioni e un case study per i clienti che mostra come la doppia scrittura è stata implementata in un'applicazione esistente, consulta il case study sulla migrazione di
Cassandra. Quando si implementa la doppia scrittura, è possibile designare un database come leader e l'altro database come follower. Ciò consente di continuare a scrivere sul database di origine o leader senza che gli errori di scrittura nel database follower o di destinazione interrompano il percorso critico dell'applicazione.
Invece di riprovare le scritture non riuscite sul follower, puoi utilizzare Amazon Simple Queue Service per registrare le scritture non riuscite in una coda di lettere morte (DLQ). https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html Il DLQ consente di analizzare le scritture non riuscite sul follower e determinare il motivo per cui l'elaborazione non è riuscita nel database di destinazione.
Per un'implementazione a doppia scrittura più sofisticata, è possibile seguire le AWS best practice per la progettazione di una sequenza di transazioni locali utilizzando il modello saga. Un modello saga garantisce che se una transazione fallisce, saga esegue transazioni di compensazione per annullare le modifiche al database apportate dalle transazioni precedenti.
Quando si utilizza la doppia scrittura per una migrazione online, è possibile configurare la doppia scrittura seguendo lo schema saga in modo che ogni scrittura sia una transazione locale per garantire operazioni atomiche su database eterogenei. Per ulteriori informazioni sulla progettazione di applicazioni distribuite utilizzando i modelli di progettazione consigliati per Cloud AWS, consulta Modelli di progettazione, architetture e implementazioni del cloud.
Doppia scrittura a livello di messaggistica: anziché implementare la doppia scrittura a livello di applicazione, puoi utilizzare il livello di messaggistica esistente per eseguire doppie scritture su Cassandra e Amazon Keyspaces.
A tale scopo, puoi configurare un altro utente della tua piattaforma di messaggistica per inviare scritture a entrambi gli archivi di dati. Questo approccio fornisce una semplice strategia low code che utilizza il livello di messaggistica per creare due visualizzazioni su entrambi i database che alla fine sono coerenti.