Arsitektur standar Tair (kompatibel dengan Redis OSS) berjalan tanpa mode kluster. Seluruh data disimpan dalam satu shard, sehingga pengoperasiannya sederhana, hemat biaya, dan sepenuhnya kompatibel dengan protokol Redis. Berbeda dengan arsitektur kluster, arsitektur standar tidak mendukung penyesuaian jumlah shard dan menyediakan tipe instans ketersediaan tinggi (multi-replika).
Jenis Arsitektur
Tersedia dua mode penerapan: cloud-native dan classic.
Arsitektur standar cloud-native
Instans cloud-native mendukung satu node master dan hingga 9 node replika. Node master menangani seluruh beban kerja baca dan tulis, sedangkan node replika tetap dalam hot standby.
Ketika failover dipicu di beberapa zona, sistem terlebih dahulu mencoba beralih ke zona yang sama untuk menghindari akses lintas zona oleh aplikasi Anda.
Arsitektur standar classic
Instans classic mendukung satu node master dan satu node replika. Dalam penerapan multi-zona, node replika ditempatkan di zona sekunder.
Cara Kerja
Arsitektur standar menggunakan model master-replika. Node master menangani beban kerja harian, sedangkan node replika tetap dalam hot standby.
Ketika node master gagal, sistem proprietary high availability (HA) mendeteksi kegagalan tersebut dan melakukan failover:
Sistem HA mendeteksi kegagalan node master (misalnya, kegagalan disk I/O atau CPU).
Salah satu node replika dipromosikan menjadi node master baru.
Seluruh proses failover selesai dalam waktu kurang dari 30 detik.
Arsitektur standar vs. arsitektur kluster
| Kemampuan | Arsitektur standar | Arsitektur kluster |
|---|---|---|
| Distribusi data | Satu shard | Beberapa shard |
| Penyesuaian jumlah shard | Tidak didukung | Didukung |
| Replika baca | Hingga 9 (cloud-native) | Per shard |
| Pemisahan baca/tulis | Didukung | Didukung |
| Kompatibilitas protokol Redis | Penuh | Sebagian (perintah multi-key dibatasi) |
| QPS maksimum yang direkomendasikan | 100.000 | 200.000+ |
| Kasus penggunaan khas | Beban kerja instans tunggal yang stabil | Beban kerja throughput tinggi atau skala besar |
Fitur
Keandalan
Keandalan layanan: Node master dan replika berjalan pada host fisik yang terpisah. Jika node master gagal, sistem proprietary HA secara otomatis melakukan failover.
Keandalan data: Persistensi data diaktifkan secara default—seluruh data ditulis ke disk. Pencadangan dan pemulihan didukung: kloning atau pemulihan instans dari set cadangan memungkinkan pemulihan dari operasi yang tidak disengaja. Instans di zona yang memiliki kemampuan disaster recovery (misalnya, Hangzhou Zone H dan Zone I) mendukung zone-disaster recovery.
Kompatibilitas protokol Redis
Arsitektur standar sepenuhnya kompatibel dengan protokol Redis. Anda dapat memigrasikan beban kerja dari database Redis yang dikelola sendiri ke instans standar tanpa gangguan layanan, menggunakan Alibaba Cloud Data Transmission Service (DTS) untuk migrasi data inkremental.
Perbaikan replikasi proprietary
Mekanisme replikasi master-replika Alibaba Cloud mengatasi beberapa keterbatasan replikasi Redis native:
| Keterbatasan Redis native | Cara Tair mengatasinya |
|---|---|
| Sinkronisasi penuh memerlukan fork, menyebabkan latensi milidetik hingga detik | Replikasi non-blocking: masalah fork diselesaikan, menghilangkan latensi akibat sinkronisasi |
| Kegagalan PSYNC memicu sinkronisasi penuh Redis Database (RDB), mengonsumsi I/O disk dan CPU | Log write-ahead (WAL) mereplikasi data antar node; gangguan replikasi berdampak minimal pada performa |
| Proses anak yang menjalankan copy-on-write (COW) mengonsumsi memori node master, berisiko crash kehabisan memori | Tekanan memori akibat COW dihilangkan |
| Transfer file RDB berukuran GB menyebabkan lonjakan outbound traffic dan lonjakan I/O sekuensial | Replikasi berbasis WAL menghindari transfer file besar |
Kapan Menggunakan Arsitektur Standar
QPS di bawah 100.000 pada satu instans
Redis native menggunakan model single-threaded. Arsitektur standar sesuai untuk sebagian besar beban kerja di bawah 100.000 permintaan per detik (QPS). Jika kebutuhan QPS Anda meningkat, aktifkan pemisahan baca/tulis atau beralih ke arsitektur kluster.
Diperlukan kompatibilitas penuh dengan protokol Redis
Arsitektur standar mendukung protokol Redis secara penuh, termasuk perintah multi-key yang dibatasi dalam mode kluster. Anda dapat memigrasikan dari database Redis yang dikelola sendiri atau Redis Sentinel tanpa mengubah kode aplikasi.
Redis digunakan sebagai penyimpanan persisten
Persistensi data, pencadangan, dan pemulihan titik-waktu tertentu telah tersedia secara bawaan. Gunakan backup untuk mengkloning instans atau mengembalikan data setelah perubahan tidak disengaja.
Beban kerja dominan baca dengan sedikit perintah sorting atau komputasi-intensif
Aktifkan pemisahan baca/tulis untuk meningkatkan throughput baca. Untuk beban kerja sorting atau komputasi intensif-CPU pada skala tinggi, gunakan arsitektur kluster sebagai gantinya.
FAQ
Saya menjalankan Redis dalam mode Sentinel. Arsitektur mana yang harus saya pilih saat migrasi ke cloud?
Pilih arsitektur HA standar, lalu aktifkan mode kompatibel Sentinel pada instans tersebut. Hal ini memungkinkan Anda terhubung ke Tair dengan cara yang sama seperti terhubung ke Redis Sentinel—tanpa perubahan kode aplikasi.
Instans saya memiliki memori 8 GB dengan arsitektur standar. Bagaimana cara meningkatkan performa tanpa meningkatkan memori?
Tersedia dua opsi tergantung pada bottleneck Anda:
Koneksi atau bandwidth menjadi bottleneck: Aktifkan pemisahan baca/tulis. Fitur ini tidak memerlukan perubahan kode maupun modifikasi endpoint, dan dapat dinonaktifkan kapan saja. Instans secara otomatis mengarahkan permintaan baca dan tulis ke node yang sesuai.
Pemanfaatan CPU konsisten tinggi: Tingkatkan ke instans kluster. Penambahan shard mendistribusikan beban CPU ke beberapa node. Sebelum meningkatkan, periksa kompatibilitas perintah antara arsitektur standar dan kluster—lihat Batasan perintah yang didukung oleh instans kluster dan instans dengan pemisahan baca/tulis.
Tabel berikut membandingkan performa instans Redis Edisi Open-Source 8 GB pada berbagai arsitektur:
| Arsitektur | Memori (GB) | Inti CPU | Bandwidth (Mbit/s) | Koneksi maksimum | Nilai referensi QPS |
|---|---|---|---|---|---|
| Arsitektur standar (node master dan replika) | 8 | 2 | 96 | 20.000 | 100.000 |
| Arsitektur standar (pemisahan baca/tulis diaktifkan, satu node master, satu replika baca) | 8 | 4 (2 × 2) | 192 (96 × 2) | 40.000 (20.000 × 2) | 200.000 |
| Arsitektur kluster (2 shard) | 8 (4 GB × 2 shard) | 4 (2 × 2) | 192 (96 × 2) | 40.000 (20.000 × 2) | 200.000 |