Tair (Redis OSS-compatible) menyediakan instans multi-replika berbasis arsitektur kluster. Anda juga dapat mengaktifkan pemisahan baca/tulis pada arsitektur ini. Desain tersebut mengatasi bottleneck single-thread Redis open source untuk menangani permintaan kapasitas tinggi dan performa aplikasi modern. Arsitektur kluster mendukung dua mode koneksi: modus proxy dan mode koneksi langsung. Topik ini menjelaskan kedua mode tersebut guna membantu Anda memilih yang paling sesuai dengan kebutuhan bisnis.
Modus proxy (direkomendasikan)
Modus proxy menyederhanakan cara Anda menghubungkan dan menggunakan instans kluster, memungkinkan Anda mengaksesnya seperti instans arsitektur standar. Node proxy secara otomatis mengarahkan permintaan klien ke shard data yang tepat serta menyediakan fitur lanjutan seperti caching hotkey dan failover otomatis. Untuk informasi lebih lanjut, lihat Fitur Tair Proxy.
Gambar dan tabel berikut menggambarkan arsitektur layanan dan komponen modus proxy.
Multi-replika
Arsitektur layanan kluster multi-replika dalam modus proxy
Komponen arsitektur kluster dalam modus proxy
Komponen | Deskripsi |
Proxy node | Mengarahkan permintaan klien ke shard data yang sesuai. Sebuah kluster berisi beberapa proxy node yang menyediakan layanan dan memberikan redundansi untuk disaster recovery. |
Data shard | Setiap data shard menggunakan arsitektur ketersediaan tinggi dengan satu node master dan satu hingga empat node replika yang ditempatkan pada server fisik berbeda. Anda dapat menempatkan node replika di zona ketersediaan sekunder. Penggunaan beberapa node replika meningkatkan kemampuan disaster recovery dan mengurangi risiko kehilangan data. |
High availability (HA) | Jika node master gagal, sistem secara otomatis melakukan failover ke node replika dalam waktu 30 detik untuk memastikan ketersediaan layanan dan keandalan data. Jika instans Anda ditempatkan di dua zona ketersediaan dan terdapat node replika di zona primer, sistem akan memprioritaskan failover ke node replika tersebut. Hal ini mencegah peningkatan latensi akibat akses aplikasi lintas zona. |
Aktifkan pemisahan baca/tulis
Arsitektur kluster cloud-native dalam modus proxy juga mendukung pemisahan baca/tulis. Anda dapat mengaktifkan fitur ini ketika trafik baca tinggi dan melebihi batas performa node master. Untuk informasi lebih lanjut, lihat Aktifkan pemisahan baca/tulis untuk instans kluster.
Mode koneksi langsung
Dalam mode koneksi langsung, Anda menghubungkan kluster seperti Redis Cluster native. Saat koneksi awal, DNS menyelesaikan alamat koneksi klien ke virtual IP address (VIP) dari shard data acak. Klien kemudian menggunakan protokol Redis Cluster untuk mengakses semua shard data. Arsitektur kluster dalam mode koneksi langsung mendukung konfigurasi multi-replika, tetapi tidak mendukung pemisahan baca/tulis. Gambar berikut menunjukkan arsitektur layanan mode ini.
Arsitektur layanan kluster dalam mode koneksi langsung
Mode koneksi langsung berbeda secara signifikan dari modus proxy. Untuk catatan penggunaan dan contoh koneksi, lihat Gunakan mode koneksi langsung untuk menghubungkan ke instans.
Kasus penggunaan
Volume data besar
Dibandingkan dengan arsitektur standar, arsitektur kluster dapat memperluas kapasitas penyimpanan hingga 16 TB (64 GB × 256 shard), mendukung pertumbuhan permintaan aplikasi.
Beban permintaan tinggi
Arsitektur standar tidak mampu menangani beban permintaan tinggi. Diperlukan penerapan multi-shard untuk mengatasi bottleneck performa dari satu shard.
Jika node master kelebihan beban permintaan baca, Anda dapat mengaktifkan pemisahan baca/tulis pada arsitektur kluster.
CatatanHanya instans kluster cloud-native dalam modus proxy yang mendukung pemisahan baca/tulis. Untuk menggunakan fitur ini, migrasikan data dari tipe instans lain dengan membuat instans kluster baru dan menyinkronkan data menggunakan Data Transmission Service (DTS).
Aplikasi intensif throughput
Dibandingkan dengan arsitektur standar, arsitektur kluster memungkinkan Anda memperluas throughput secara linear dengan menambahkan lebih banyak shard, sehingga memberikan dukungan lebih baik untuk membaca data panas dan menangani beban kerja throughput tinggi.
Aplikasi dengan sedikit operasi multi-key
Karena kluster menggunakan arsitektur terdistribusi, operasi pada beberapa kunci mensyaratkan bahwa semua kunci berada dalam slot yang sama. Hal ini membatasi operasi multi-key tertentu. Untuk informasi lebih lanjut, lihat Batasan perintah untuk instans kluster dan instans dengan pemisahan baca/tulis.
Aplikasi sensitif latensi
Untuk instans yang ditempatkan di dua zona ketersediaan, Anda dapat menambahkan node replika ke zona ketersediaan primer. Misalnya, satu node master dan satu node replika di zona primer, serta satu node replika lain di zona sekunder. Pendekatan ini meningkatkan keandalan pemulihan bencana dan mencegah lonjakan latensi akibat akses lintas zona setelah failover.
Catatan penggunaan
Instans kluster cloud-native tidak dapat menggunakan modus proxy dan mode koneksi langsung secara bersamaan. Kami merekomendasikan penggunaan modus proxy.
Arsitektur kluster Classic hanya mendukung konfigurasi dual-replika dan tidak mendukung pemisahan baca/tulis.
Instans kluster cloud-native tidak mendukung penggantian mode koneksi dari mode koneksi langsung ke modus proxy. Tidak tersedia entri penggantian di Konsol. Jika Anda perlu mengganti, buat instans kluster baru dalam modus proxy, gunakan Data Transmission Service (DTS) untuk memigrasikan data dari instans asli ke instans baru, verifikasi konsistensi data, lalu alihkan titik akhir koneksi aplikasi Anda ke titik akhir modus proxy dari instans baru.
Instans kluster classic menyediakan modus proxy secara default. Jika Anda perlu menggunakan mode koneksi langsung, aktifkan secara manual di Konsol.
Ubah konfigurasi kluster
Untuk menambah atau menghapus node replika, buka halaman Node Management instans Anda dan klik Modify.
Untuk menambah replika baca, buka halaman Node Management instans Anda, aktifkan sakelar Read/Write Splitting, lalu klik Modify untuk menambah replika baca.
Untuk menambah shard, buka halaman detail instans dan pilih dari pojok kanan atas.
Untuk mengubah spesifikasi shard, buka halaman detail instans dan pilih dari pojok kanan atas.
FAQ
TairApa perbedaan antara arsitektur kluster dan Redis Cluster open source?
Dibandingkan dengan Redis Cluster open source, arsitektur kluster Tair (Redis OSS-compatible) menawarkan keunggulan berikut dalam keamanan, performa kernel, load balancing, dan skalabilitas:
Performa kernel yang ditingkatkan: Arsitektur kluster Tair mencakup berbagai optimasi kernel, seperti:
Pemulihan bencana lebih cepat tanpa badai siaran gossip.
Saat skala-masuk atau skala keluar, sistem secara otomatis melakukan penyeimbangan ulang data shard dengan dampak minimal terhadap layanan Anda.
Dukungan native untuk sejumlah besar koneksi singkat.
O&M yang disederhanakan: Dibandingkan dengan database Redis yang dikelola sendiri di server, instans kluster Tair menyediakan kontrol akses multidimensi, penskalaan fleksibel, metrik pemantauan komprehensif, serta berbagai solusi ketersediaan tinggi dan pemulihan bencana. Untuk informasi lebih lanjut, lihat Perbandingan antara Tair dan Redis yang dikelola sendiri.
Dukungan modus proxy: Instans kluster Tair menawarkan modus proxy opsional. Mode ini menyediakan node proxy yang dapat menerjemahkan arsitektur, memungkinkan Anda menggunakan instans arsitektur kluster seperti instans standar. Node proxy juga mendukung load balancing, pengarahan permintaan, manajemen trafik replika baca, caching metadata hotkey, dan beberapa database (DB) dalam arsitektur kluster. Untuk informasi lebih lanjut, lihat Fitur Tair Proxy.
Perubahan kode setelah upgrade
Jika Anda melakukan upgrade ke instans kluster dalam modus proxy, Anda tidak perlu mengubah kode Anda. Node proxy menyembunyikan kompleksitas kluster yang mendasari, memungkinkan Anda menggunakan instans seperti instans standar. Hal ini secara signifikan mengurangi biaya modifikasi aplikasi Anda.
Jika Anda melakukan upgrade ke instans kluster dalam mode koneksi langsung, Anda harus mengubah kode kolam koneksi Anda untuk menggunakan klien yang mendukung Redis Cluster.
Anda juga harus memahami dan mengikuti aturan untuk perintah multi-key (lintas-slot), transaksi, dan skrip Lua dalam arsitektur kluster. Untuk informasi lebih lanjut, lihat Batasan perintah untuk arsitektur kluster.
Penyeimbangan ulang data otomatis
Ya. Saat Anda melakukan upgrade dari arsitektur standar ke arsitektur kluster atau menambah/menghapus shard dalam instans kluster, layanan secara otomatis menganalisis distribusi data dan melakukan penyeimbangan ulang data. Tidak diperlukan intervensi manual.
Selain itu, modus proxy mendukung skalabilitas tanpa hambatan. Mode koneksi langsung juga dapat mencapai skalabilitas tanpa hambatan jika klien Anda menangani pengalihan MOVED dengan benar.