All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Pemisahan baca/tulis

Last Updated:Apr 22, 2026

Untuk beban kerja yang dominan membaca, Tair (Redis OSS-compatible) memungkinkan Anda mengaktifkan atau menonaktifkan fitur pemisahan baca/tulis secara dinamis. Fitur ini menyediakan solusi berkinerja tinggi dan berkelanjutan untuk akses terpusat ke data panas serta pembacaan dengan konkurensi tinggi. Pada instans pemisahan baca/tulis, komponen proxy yang dikembangkan oleh tim Alibaba Cloud Tair secara otomatis mengidentifikasi dan mengarahkan permintaan baca dan tulis serta menangani failover. Hal ini menyederhanakan integrasi karena Anda tidak perlu memodifikasi kode aplikasi untuk mengelola routing permintaan atau failover.

Pemisahan baca/tulis dalam arsitektur standar

Instans pemisahan baca/tulis yang menggunakan arsitektur standar terdiri dari node master, satu atau beberapa replika baca saja, server proxy, dan sistem ketersediaan tinggi. Gambar berikut menunjukkan arsitektur tersebut.

Gambar 1. Cloud-native

Gambar 2. Classic (tidak lagi tersedia)

Komponen

Cloud-native

Classic (tidak lagi tersedia)

Node master

Menangani permintaan tulis dan berbagi beban kerja baca dengan replika baca saja.

Replika baca saja

Menangani permintaan baca. Replika baca saja memiliki fitur-fitur berikut:

  • Semua replika baca saja menyediakan disaster recovery dan dapat berfungsi sebagai node replika untuk cadangan data.

  • Replika baca saja melakukan sinkronisasi data dari node master menggunakan topologi replikasi star. Topologi ini memiliki latensi data yang jauh lebih rendah dibandingkan topologi replikasi berantai pada edisi classic.

  • Anda dapat menyesuaikan jumlah replika baca saja. Dalam arsitektur kluster, sebuah instans dapat memiliki 1 hingga 4 replika baca saja per shard, sedangkan dalam arsitektur standar, instans dapat memiliki 1 hingga 9 replika baca saja.

Menangani permintaan baca. Replika baca saja memiliki fitur-fitur berikut:

  • Replika baca saja menggunakan topologi replikasi berantai. Semakin banyak replika baca saja dalam rantai, semakin tinggi latensi data pada replika baca saja di ujung rantai.

  • Anda dapat mengonfigurasi 1, 3, atau 5 replika baca saja.

Node replika

Setiap replika baca saja dapat berfungsi sebagai node replika. Jika node master gagal, sistem ketersediaan tinggi akan mempromosikan replika baca saja dengan data paling lengkap menjadi node master baru. Setelah alih bencana, replika baca saja baru segera ditambahkan ke instans.

Karena tidak diperlukan node replika khusus, instans pemisahan baca/tulis cloud-native menawarkan kinerja yang sama dengan biaya lebih rendah.

Node standby dingin untuk cadangan data. Node ini tidak melayani traffic. Jika node master gagal, permintaan dialihkan ke node ini melalui failover.

Server proxy

Saat klien terhubung, server proxy secara otomatis mengidentifikasi jenis permintaan dan mendistribusikan traffic ke node data yang berbeda berdasarkan bobot. Semua node memiliki bobot yang sama, dan bobot tersebut tidak dapat disesuaikan. Misalnya, permintaan tulis dialihkan ke node master, sedangkan permintaan baca dialihkan ke node master dan replika baca saja.

Catatan
  • Klien hanya dapat terhubung ke server proxy. Koneksi langsung ke node individual tidak didukung.

  • Server proxy mendistribusikan permintaan baca secara merata di antara node master dan replika baca saja. Distribusi ini tidak dapat disesuaikan. Misalnya, untuk instans dengan tiga replika baca saja, node master dan masing-masing dari tiga replika baca saja menangani 25% permintaan baca.

Sistem ketersediaan tinggi

  • Secara otomatis memantau kesehatan setiap node. Jika suatu node tidak tersedia, sistem ketersediaan tinggi memulai failover atau membuat ulang replika baca saja dan memperbarui informasi routing serta bobot yang sesuai.

  • Logika failover untuk pemilihan node master: Integritas data adalah prioritas utama. Sistem ketersediaan tinggi mempromosikan replika baca saja dengan data paling lengkap menjadi node master baru.

Catatan mengenai instans pemisahan baca/tulis dua zona

Cloud-native (direkomendasikan)

Classic (tidak lagi tersedia)

Zona primary dan secondary sama-sama menyediakan layanan. Konfigurasi minimum adalah sebagai berikut:

  • Zona primary: satu node master dan satu replika baca saja.

  • Zona secondary: satu replika baca saja.

Zona primary dan secondary memiliki titik akhir yang terpisah. Kedua titik akhir mendukung operasi baca dan tulis. Permintaan baca dari zona primary hanya diarahkan ke node master atau replika baca saja dalam zona tersebut. Permintaan baca dari zona secondary hanya diarahkan ke replika baca saja dalam zona tersebut. Arsitektur ini memungkinkan akses berbasis kedekatan lokasi. Semua permintaan tulis diarahkan ke node master di zona primary. Gambar berikut menunjukkan arsitektur tersebut.

Catatan

Kami merekomendasikan agar Anda mengonfigurasi dua node atau lebih di zona primary dan secondary:

  • Zona primary: satu node master dan satu replika baca saja.

  • Zona secondary: dua replika baca saja.

Zona secondary hanya berisi node replika standby dingin untuk cadangan data dan tidak melayani traffic. Jika node master gagal, permintaan dialihkan ke node replika tersebut melalui failover.

Fitur

  • Dinamis dan mudah digunakan

    Anda dapat mengaktifkan pemisahan baca/tulis untuk instans yang menggunakan arsitektur standar. Server proxy secara cerdas mengidentifikasi dan meneruskan permintaan baca dan tulis dari klien. Setelah mengaktifkan fitur ini, Anda dapat menggunakan klien yang kompatibel dengan Redis untuk terhubung ke instans pemisahan baca/tulis guna meningkatkan kinerja baca tanpa memodifikasi aplikasi Anda. Instans dengan pemisahan baca/tulis yang diaktifkan kompatibel dengan perintah protokol Redis, tetapi beberapa batasan perintah berlaku karena adanya proxy. Untuk informasi selengkapnya, lihat Batasan perintah untuk instans pemisahan baca/tulis.

  • Ketersediaan tinggi

    • Sistem ketersediaan tinggi eksklusif dari Alibaba Cloud secara otomatis memantau kesehatan semua node data untuk memastikan ketersediaan instans. Jika node master tidak tersedia, sistem secara otomatis memilih node master baru dan membangun kembali topologi replikasi. Jika replika baca saja gagal, sistem ketersediaan tinggi secara otomatis mendeteksi kegagalan tersebut, meluncurkan node baru untuk menyelesaikan sinkronisasi data, dan mengambil node yang gagal offline.

    • Server proxy memantau status layanan setiap replika baca saja secara real time. Jika replika baca saja tidak tersedia, proxy secara otomatis mengurangi bobot layanannya. Jika replika baca saja gagal lebih dari jumlah tertentu secara berturut-turut, proxy menangguhkan layanan ke node yang tidak tersedia tersebut. Proxy terus memantau node tersebut dan melanjutkan layanannya setelah node pulih.

  • Kinerja tinggi

    Anda dapat menambah jumlah replika baca saja untuk meningkatkan kinerja keseluruhan instans pemisahan baca/tulis secara linear. Optimasi tingkat kode sumber pada proses replikasi Redis memaksimalkan stabilitas sistem selama replikasi linear dan memanfaatkan sepenuhnya sumber daya fisik setiap replika baca saja.

Kasus penggunaan

Fitur ini ideal untuk skenario dengan permintaan baca per detik (QPS) yang tinggi. Jika aplikasi Anda dominan membaca, instans yang menggunakan arsitektur standar mungkin tidak memenuhi kebutuhan QPS Anda. Dalam hal ini, Anda dapat menerapkan beberapa replika baca saja untuk mengatasi bottleneck kinerja pada node tunggal. Setelah Anda mengaktifkan pemisahan baca/tulis, QPS baca instans dapat meningkat hingga sembilan kali lipat.

Catatan

Karena mekanisme replikasi asinkron Redis, latensi replikasi data dapat terjadi selama periode volume tulis yang tinggi. Jika Anda menggunakan arsitektur ini, aplikasi Anda harus mampu mentolerir tingkat ketidakmutakhiran data tertentu.

Pemisahan baca/tulis dalam arsitektur kluster

Dalam arsitektur kluster, Anda hanya dapat mengaktifkan pemisahan baca/tulis untuk instans cloud-native yang berjalan dalam modus proxy. Gambar berikut menunjukkan contoh arsitektur tersebut.

Deskripsi komponen

Komponen

Deskripsi

Server proxy

Setelah klien terhubung ke server proxy, proxy secara otomatis mengidentifikasi permintaan klien dan meneruskannya ke shard data yang sesuai beserta node baca/tulisnya. Misalnya, permintaan tulis dialihkan ke node master, sedangkan permintaan baca diseimbangkan beban kerjanya di antara node master dan replika baca saja.

Shard data

Setiap shard data terdiri dari satu node master dan hingga empat replika baca saja.

  • Node master: Menangani permintaan tulis dan berbagi beban kerja baca dengan replika baca saja. Node master selalu ditempatkan di zona primary.

  • Replika baca saja: Menangani permintaan baca. Replika baca saja melakukan sinkronisasi data dari node master menggunakan topologi replikasi star. Anda dapat memiliki 1 hingga 4 replika baca saja, dan jumlahnya dapat disesuaikan secara dinamis. Anda juga dapat menempatkan replika baca saja di zona secondary untuk disaster recovery.

Layanan ketersediaan tinggi

  • Secara otomatis memantau kesehatan setiap node. Jika suatu node tidak tersedia, sistem ketersediaan tinggi memulai failover atau membuat ulang replika baca saja dan memperbarui informasi routing serta bobot yang sesuai.

  • Logika failover untuk pemilihan node master: Integritas data adalah prioritas utama. Sistem ketersediaan tinggi mempromosikan replika baca saja dengan data paling lengkap menjadi node master baru.

Catatan
  • Jika instans diterapkan di satu zona ketersediaan, semua node berada di zona primary, dan instans hanya menyediakan satu titik akhir untuk zona primary.

  • Jika instans diterapkan dalam konfigurasi dua zona, titik akhir terpisah disediakan untuk zona primary dan secondary. Kedua titik akhir mendukung operasi baca dan tulis. Permintaan baca dari zona primary diarahkan ke node master atau replika baca saja dalam zona tersebut. Permintaan baca dari zona secondary hanya diarahkan ke replika baca saja dalam zona tersebut untuk memastikan akses berbasis kedekatan lokasi. Semua permintaan tulis diarahkan ke node master di zona primary. Jika semua replika baca saja di zona secondary tidak tersedia, sistem mengarahkan permintaan baca dari zona tersebut ke node master untuk memastikan kelangsungan bisnis.

Rekomendasi dan catatan penggunaan

  • Jika replika baca saja gagal, permintaan diteruskan ke node lain. Jika semua replika baca saja tidak tersedia, semua permintaan baca diteruskan ke node master. Jika replika baca saja gagal, beban pada node master meningkat, yang dapat memperpanjang waktu responsnya. Oleh karena itu, kami merekomendasikan agar Anda menggunakan beberapa replika baca saja untuk beban kerja yang dominan membaca.

  • Jika replika baca saja gagal, sistem ketersediaan tinggi menangguhkan layanan ke node yang gagal dan meluncurkan replika baca saja baru. Proses ini melibatkan alokasi sumber daya, pembuatan instans, sinkronisasi data, dan pemuatan layanan. Waktu yang dibutuhkan bergantung pada beban kerja dan volume data. Tair (Redis OSS-compatible) tidak menjamin objektif waktu pemulihan untuk replika baca saja.

  • Penerapan pemisahan baca/tulis dua zona mengharuskan zona primary memiliki setidaknya satu node master dan satu replika baca saja. Sebelum Anda mengaktifkan pemisahan baca/tulis untuk instans arsitektur standar dua zona yang memiliki satu node master di zona primary dan satu node replika di zona secondary, Anda harus menambahkan node replika ke zona primary agar berisi dua node. Setelah itu, Anda dapat mengaktifkan pemisahan baca/tulis.

  • Beberapa skenario, seperti failover ketersediaan tinggi pada node master, memicu sinkronisasi data penuh pada replika baca saja. Selama sinkronisasi penuh, replika baca saja tidak tersedia dan mengembalikan pesan -LOADING Redis is loading the dataset in memory\r\n.

  • Beberapa perintah baca memiliki aturan pengalihan khusus dalam arsitektur pemisahan baca/tulis. Misalnya, perintah SCAN dialihkan ke node master untuk dieksekusi, sedangkan proxy mendistribusikan perintah HSCAN, SSCAN, dan ZSCAN secara merata di antara node master dan replika baca saja berdasarkan perhitungan modulo saluran. Untuk daftar lengkap aturan pengalihan, lihat Aturan routing proxy.

Prasyarat

Sebelum memulai, pastikan bahwa:

  • Instans diterapkan dalam mode cloud-native

  • Instans merupakan Redis Edisi Open-Source atau Tair (Edisi Perusahaan) instans yang dioptimalkan untuk DRAM atau instans yang dioptimalkan untuk memori persisten

  • Instans memiliki memori minimal 1 GB

  • Instans merupakan instans ketersediaan tinggi

Prosedur

FAQ

  • T: Apakah mengaktifkan pemisahan baca/tulis untuk instans arsitektur standar meningkatkan bandwidth keseluruhan?

    J: Ya. Setelah Anda mengaktifkan pemisahan baca/tulis, bandwidth total teoretis instans adalah bandwidth spesifikasi instans dikalikan dengan jumlah total node (misalnya, 96 MB/s × 3 node = 288 MB/s). Node proxy tambahan meneruskan sebagian besar permintaan baca ke replika baca saja, yang mengurangi tekanan bandwidth pada node master. Namun, bandwidth aktual dipengaruhi oleh faktor-faktor seperti permintaan bisnis dan klien. Bandwidth aktual mengacu pada hasil pengujian stres.

  • T: Setelah saya mengaktifkan pemisahan baca/tulis untuk instans arsitektur standar, apakah saya dapat mengubah arsitekturnya menjadi arsitektur kluster?

    J: Ya. Anda harus terlebih dahulu menonaktifkan pemisahan baca/tulis lalu mengubah arsitektur instans.

  • T: Bagaimana cara memeriksa apakah pemisahan baca/tulis telah diaktifkan?

    J: Anda dapat membuka halaman Node Management instans untuk memeriksa apakah opsi read/write splitting telah diaktifkan.

  • T: Mengapa permintaan baca tidak diarahkan ke replika baca saja saya?

    J: Dalam arsitektur pemisahan baca/tulis dua zona, zona primary dan secondary memiliki titik akhir yang terpisah. Permintaan baca hanya diarahkan ke node master atau replika baca saja dalam zona yang sama. Jika Anda hanya menggunakan titik akhir untuk zona primary, tidak ada permintaan baca yang diarahkan ke replika baca saja di zona secondary. Untuk mengaktifkan akses berbasis kedekatan lokasi dan penyeimbangan beban, Anda harus secara eksplisit membedakan titik akhir untuk zona primary dan secondary dalam kode aplikasi Anda serta mengarahkan permintaan untuk zona secondary ke titik akhir khususnya.