全部产品
Search
文档中心

Data Transmission Service:Gunakan OpenAPI Explorer untuk mengonfigurasi sinkronisasi satu arah atau dua arah antara instans Tair (Redis OSS-Compatible) Enhanced Edition

更新时间:Jul 06, 2025

Anda dapat memanggil operasi API dari Data Transmission Service (DTS) di OpenAPI Explorer untuk mengonfigurasi sinkronisasi satu arah atau dua arah antara instans Tair (Redis OSS-Compatible) Enhanced Edition. Topik ini menjelaskan catatan penggunaan dan menyediakan contoh kode.

Prasyarat

Instans sumber dan tujuan adalah Tair (Redis OSS-Compatible) Enhanced Edition yang menjalankan Redis 5.0.

Catatan
  • Untuk sinkronisasi satu arah, instans sumber tidak boleh berupa instans optimasi penyimpanan. Untuk sinkronisasi dua arah, baik instans sumber maupun tujuan tidak boleh berupa instans optimasi penyimpanan.

  • Parameter appendonly harus disetel ke ya jika instans sumber merupakan instans optimasi memori persisten dari Tair (Redis OSS-Compatible) Enhanced Edition.

  • Arsitektur instans tidak dibatasi. Arsitektur dapat berupa cluster, standard, atau read/write splitting.

Catatan Penggunaan

  • Selama sinkronisasi dua arah, tugas sinkronisasi data dalam arah maju melakukan sinkronisasi data penuh awal dan sinkronisasi data tambahan. Tugas sinkronisasi data dalam arah sebaliknya hanya melakukan sinkronisasi data tambahan.

    Peringatan

    Untuk memastikan konsistensi data, jangan modifikasi atau tulis data ke key yang sama di basis data sumber dan tujuan saat tugas sinkronisasi dua arah sedang berjalan.

  • DTS menggunakan sumber daya dari basis data sumber dan tujuan selama sinkronisasi data penuh awal. Hal ini mungkin meningkatkan beban pada server basis data. Jika Anda menyinkronkan sejumlah besar data atau jika spesifikasi server tidak sesuai dengan kebutuhan Anda, layanan basis data mungkin tidak tersedia. Sebelum menyinkronkan data, evaluasi dampak sinkronisasi data terhadap kinerja instans sumber dan tujuan. Kami sarankan Anda menyinkronkan data selama jam-jam sepi.

  • Kami sarankan Anda tidak menjalankan perintah FLUSHDB atau FLUSHALL di instans sumber selama sinkronisasi data. Jika Anda menjalankan salah satu perintah tersebut, ketidaksesuaian data mungkin terjadi antara instans sumber dan tujuan.

  • Secara default, parameter maxmemory-policy yang menentukan bagaimana data dikeluarkan disetel ke volatile-lru untuk instans Tair (Redis OSS-compatible). Jika instans tujuan memiliki memori yang tidak mencukupi, ketidaksesuaian data mungkin terjadi antara instans sumber dan tujuan karena pengeluaran data. Dalam hal ini, tugas sinkronisasi data tidak berhenti berjalan.

    Untuk mencegah ketidaksesuaian data, kami sarankan Anda menyetel maxmemory-policy ke noeviction untuk instans tujuan. Dengan cara ini, tugas sinkronisasi data gagal jika instans tujuan memiliki memori yang tidak mencukupi, tetapi kehilangan data dapat dicegah untuk instans tujuan.

    Catatan

    Untuk informasi lebih lanjut tentang kebijakan pengeluaran data, lihat Apa kebijakan pengeluaran default?

  • Jika kebijakan kedaluwarsa diaktifkan untuk key tertentu di basis data sumber, key tersebut mungkin tidak dihapus segera setelah kedaluwarsa. Oleh karena itu, jumlah key di basis data tujuan mungkin lebih sedikit daripada di basis data sumber. Anda dapat menjalankan perintah INFO untuk melihat jumlah key di basis data tujuan.

    Catatan

    Jumlah key yang tidak memiliki kebijakan kedaluwarsa atau belum kedaluwarsa sama antara basis data sumber dan tujuan.

  • Jika koneksi langsung dinonaktifkan untuk instans tujuan Tair (Redis OSS-Compatible) Enhanced Edition, DTS menggunakan mode pengalihan proxy untuk menulis data ke instans tujuan.

    Catatan

    Untuk informasi lebih lanjut tentang cara mengaktifkan koneksi langsung, lihat Aktifkan mode koneksi langsung.

  • Selama sinkronisasi data, jika jumlah shard di instans sumber bertambah atau berkurang atau jika spesifikasi instans diubah (misalnya, kapasitas memori ditingkatkan), Anda harus mengonfigurasi ulang tugas sinkronisasi data. Untuk memastikan konsistensi data, kami sarankan Anda membersihkan data yang telah disinkronkan ke instans tujuan sebelum mengonfigurasi ulang tugas sinkronisasi data.

  • Selama sinkronisasi data, titik akhir instans sumber mungkin berubah. Misalnya, titik akhir instans sumber berubah jika zona instans berubah atau jenis jaringan berubah dari jaringan klasik ke Virtual Private Cloud (VPC). Dalam hal ini, Anda harus mengonfigurasi ulang tugas sinkronisasi data.

  • Batas operasi untuk menyinkronkan basis data sumber Redis Edisi Dasar ke basis data tujuan Redis Edisi Kluster: Karena kluster hanya mengizinkan satu perintah untuk beroperasi pada satu slot, jika beberapa operasi key dilakukan di basis data sumber dan key-key tersebut tidak berada di slot yang sama atau melibatkan beberapa slot, kesalahan berikut akan terjadi:

    CROSSSLOT Keys in request don't hash to the same slot

    Kami sarankan Anda melakukan operasi hanya pada satu key selama sinkronisasi data. Ini mencegah tugas sinkronisasi data terganggu.

  • Jika instans tujuan diterapkan dalam arsitektur kluster dan jumlah memori yang digunakan oleh sebuah shard di instans tujuan mencapai batas atas, atau jika ruang penyimpanan yang tersedia di instans tujuan tidak mencukupi, tugas sinkronisasi data gagal karena kehabisan memori (OOM).

  • Jika fitur enkripsi data transparan (TDE) diaktifkan untuk instans sumber atau tujuan, Anda tidak dapat menggunakan DTS untuk menyinkronkan data dari basis data sumber ke basis data tujuan.

  • Periode timeout untuk replikasi data antara node master dan replika di basis data Redis ditentukan oleh parameter repl-timeout. Kami sarankan Anda menjalankan perintah config set repl-timeout 600 untuk menyetel periode timeout menjadi 600 detik untuk instans sumber. Jika instans sumber menyimpan sejumlah besar data, Anda dapat meningkatkan nilai parameter repl-timeout berdasarkan kebutuhan bisnis Anda.

Penagihan

Jenis SinkronisasiBiaya Konfigurasi Tugas
Sinkronisasi skema dan data penuhGratis.
Sinkronisasi data tambahanDikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Batasan

Sinkronisasi kaskade satu arah tidak didukung. Untuk informasi lebih lanjut, lihat Topologi Sinkronisasi.

Perintah yang dapat disinkronkan

  • APPEND

  • BITOP, BLPOP, BRPOP, dan BRPOPLPUSH

  • DECR, DECRBY, dan DEL

  • EVAL, EVALSHA, EXEC, EXPIRE, dan EXPIREAT

  • GEOADD dan GETSET

  • HDEL, HINCRBY, HINCRBYFLOAT, HMSET, HSET, dan HSETNX

  • INCR, INCRBY, dan INCRBYFLOAT

  • LINSERT, LPOP, LPUSH, LPUSHX, LREM, LSET, dan LTRIM

  • MOVE, MSET, MSETNX, dan MULTI

  • PERSIST, PEXPIRE, PEXPIREAT, PFADD, PFMERGE, dan PSETEX

  • RENAME, RENAMENX, RPOP, RPOPLPUSH, RPUSH, dan RPUSHX

  • SADD, SDIFFSTORE, SELECT, SET, SETBIT, SETEX, SETNX, SETRANGE, SINTERSTORE, SMOVE, SPOP, SREM, dan SUNIONSTORE

  • UNLINK, ZADD, ZINCRBY, ZINTERSTORE, ZREM, ZREMRANGEBYLEX, ZUNIONSTORE, ZREMRANGEBYRANK, dan ZREMRANGEBYSCORE

  • SWAPDB (Perintah ini tidak dapat disinkronkan jika instans sumber atau tujuan diterapkan dalam arsitektur kluster.)

Penting
  • Perintah PUBLISH tidak dapat disinkronkan.

  • Jika Anda menjalankan perintah EVAL atau EVALSHA untuk memanggil skrip Lua, DTS tidak dapat mengidentifikasi apakah skrip Lua ini dieksekusi di basis data tujuan. Hal ini karena basis data tujuan tidak secara eksplisit mengembalikan hasil eksekusi skrip Lua selama sinkronisasi data tambahan.

  • Saat DTS menjalankan perintah SYNC atau PSYNC untuk mentransfer data tipe LIST, DTS tidak membersihkan data yang ada. Akibatnya, instans tujuan mungkin berisi rekaman data duplikat.

Sebelum Anda Memulai

Buat pasangan AccessKey.

Catatan

Untuk melindungi pasangan AccessKey akun Alibaba Cloud Anda, kami sarankan Anda membuat Pengguna Resource Access Management (RAM), memberikan izin kepada Pengguna RAM untuk mengakses DTS, dan kemudian menggunakan pasangan AccessKey Pengguna RAM untuk memanggil DTS SDK for Java. Untuk informasi lebih lanjut, lihat Kontrol akses ke sumber daya dengan menggunakan Pengguna RAM.

Buat instans sinkronisasi data

  1. Masuk ke OpenAPI Explorer.

  2. Konfigurasikan parameter permintaan berdasarkan kebutuhan bisnis Anda. Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    Nilai

    SourceRegion

    ID wilayah tempat instans sumber berada.

    Tentukan nilai untuk parameter ini berdasarkan kebutuhan bisnis Anda.

    DestRegion

    ID wilayah tempat instans tujuan berada.

    Topology

    Topologi sinkronisasi. Nilai valid:

    • oneway (default): sinkronisasi satu arah.

    • bidirectional: sinkronisasi dua arah.

    SynchronizationJobClass

    Kelas instans dari instans sinkronisasi data. Nilai valid: micro, small, medium, dan large.

    PayType

    Metode penagihan instans sinkronisasi data. Nilai valid:

    • PrePaid: langganan.

    • PostPaid (default): bayar sesuai pemakaian.

    SourceEndpoint.InstanceType

    Tipe instans sumber.

    Tetapkan nilainya menjadi Redis.

    DestinationEndpoint.InstanceType

    Tipe instans tujuan.

    Tetapkan nilainya menjadi Redis.

    Catatan

    Untuk informasi lebih lanjut, lihat CreateSynchronizationJob.

  3. Di bagian bawah halaman, klik Initiate Call.

  4. Di tab Response, lihat status permintaan dan respons.概览

    Penting

    Jika permintaan gagal, Anda perlu memodifikasi parameter permintaan berdasarkan pesan yang dikembalikan dalam respons dan mengirimkan permintaan lagi hingga permintaan berhasil.

  5. Opsional. Dapatkan kode contoh dari SDK.sdk

    1. Klik tab SDK Sample Code.

    2. Tentukan versi SDK dan bahasa pemrograman.

    3. Klik ikon 复制 di sudut kanan atas bagian kode.

Konfigurasikan tugas sinkronisasi satu arah

Dalam contoh ini, akun basis data instans sumber memiliki izin baca pada basis data sumber. Akun basis data instans tujuan memiliki izin baca dan tulis pada basis data tujuan.

Catatan

Saat Anda mengonfigurasi tugas sinkronisasi satu arah, Anda juga dapat menggunakan basis data Redis yang dikelola sendiri atau instans Tair (Redis OSS-Compatible) sebagai basis data sumber atau tujuan. Metode konfigurasi serupa dengan yang dijelaskan dalam topik ini. Namun, Anda harus menentukan parameter permintaan seperti MigrationReserved berdasarkan skenario aktual Anda.

  1. Masuk ke OpenAPI Explorer.

  2. Konfigurasikan parameter permintaan berdasarkan kebutuhan bisnis Anda.

    Catatan

    Anda harus menyetel parameter SynchronizationDirection ke Forward. Untuk informasi lebih lanjut, lihat ConfigureSynchronizationJob.

  3. Di bagian bawah halaman, klik Initiate Call.

  4. Di tab Response, lihat status permintaan dan respons.概览

    Penting

    Jika permintaan gagal, Anda perlu memodifikasi parameter permintaan berdasarkan pesan yang dikembalikan dalam respons dan mengirimkan permintaan lagi hingga permintaan berhasil.

  5. Opsional. Dapatkan kode contoh dari SDK.

    1. Klik tab SDK Sample Code.

    2. Tentukan versi SDK dan bahasa pemrograman.

    3. Klik ikon 复制 di sudut kanan atas bagian kode.

Konfigurasikan tugas sinkronisasi dua arah

Dalam contoh ini, akun basis data yang digunakan untuk sinkronisasi data memiliki izin baca dan tulis.

  1. Konfigurasikan tugas sinkronisasi data dalam arah maju. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan Tugas Sinkronisasi Satu Arah dari topik ini.

  2. Tunggu hingga status tugas sinkronisasi data dalam arah maju berubah menjadi Synchronizing.

    Catatan

    Anda dapat melihat status tugas sinkronisasi data di konsol DTS atau dengan memanggil operasi DescribeSynchronizationJobStatus.

  3. Konfigurasikan tugas sinkronisasi data dalam arah sebaliknya.

    1. Opsional. Masuk ke OpenAPI Explorer.

    2. Konfigurasikan parameter permintaan berdasarkan kebutuhan bisnis Anda.

      Catatan

      Anda harus menyetel parameter SynchronizationDirection ke Reverse. Untuk informasi lebih lanjut, lihat ConfigureSynchronizationJob.

    3. Di bagian bawah halaman, klik Initiate Call.

    4. Di tab Response, lihat status permintaan dan respons.概览

      Penting

      Jika permintaan gagal, Anda perlu memodifikasi parameter permintaan berdasarkan pesan yang dikembalikan dalam respons dan mengirimkan permintaan lagi hingga permintaan berhasil.

    5. Opsional. Dapatkan kode contoh dari SDK.

      1. Klik tab SDK Sample Code.

      2. Tentukan versi SDK dan bahasa pemrograman.

      3. Klik ikon 复制 di sudut kanan atas bagian kode.

Referensi