本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
如果您需要在從 Apache Cassandra 移轉至 Amazon 金 Keyspaces 間期間維持應用程式可用性,您可以實作本主題中討論的關鍵元件,以準備自訂線上移轉策略。透過遵循這些線上移轉的最佳做法,您可以確保在整個移轉程序期間維持應用程式的可用性和 read-after-write 一致性,將對使用者的影響降到最低。
當設計從 Apache 卡桑德拉到 Amazon 密 Keyspaces 的在線遷移策略,你需要考慮以下關鍵步驟。
寫入新資料
應用程序雙寫入:您可以使用現有的 Cassandra 客戶端庫和驅動程序在應用程序中實現雙重寫入。指定一個資料庫為導線,另一個資料庫指定為從動件。寫入到跟隨者數據庫失敗被記錄在一個無效字母隊列(DLQ)進行分析。
簡訊層雙寫入:或者,您可以設定現有的簡訊平台,使用其他取用者將寫入傳送到 Cassandra 和 Amazon Keyspaces。這會在兩個數據庫中創建最終一致的視圖。
遷移歷史資料
複製歷史數據:您可以使用將歷史數據從卡桑德拉遷移到 Amazon Keyspaces AWS Glue 或自訂擷取、轉換和載入 (ETL) 指令碼。使用輕量型交易或時間戳記等技術,處理雙重寫入與大量載入之間的衝突解決。
使用存留時間 (TTL): 對於較短的資料保留期,您可以在 Cassandra 和 Amazon Keyspaces 間TTL中使用,以避免上傳不必要的歷史資料。由於舊數據在 Cassandra 中過期,並且通過雙寫入寫入新數據,Amazon Keyspaces 最終趕上了。
驗證資料
雙重讀取:從 Cassandra(主)和 Amazon Keyspaces(次要)數據庫實現雙重讀取,異步比較結果。差異會記錄或傳送至DLQ.
示例讀取:使用函數定期對兩個系統的數據進行採樣和比較,並將任何差異記錄到. DLQ
移轉應用程式
藍綠色策略:只需一個步驟即可切換您的應用程式,將 Amazon Keyspaces 視為主要資料,而 Cassandra 則視為次要資料存放區。監控效能並在出現問題時回復。
Canary 部署:先逐步將遷移部署到使用者子集,逐步增加 Amazon 金 Keyspaces 的流量作為主要項目,直到完全移轉為止。
解除委任卡桑德拉
一旦您的應用程式完全遷移到 Amazon Keyspaces,並驗證資料一致性,您就可以計劃根據資料保留政策取消委任 Cassandra 叢集。
透過使用這些元件規劃線上遷移策略,您可以在最短的停機時間或中斷時間內順暢地轉換為全受管 Amazon Keyspaces 服務。以下各節將更詳細地介紹每個組件。