Halaman ini menjelaskan spesifikasi cluster dan node untuk instance Memorystore for Redis Cluster. Untuk mengetahui petunjuk cara membuat instance, lihat Membuat instance.
Pilih jenis node
Semua shard di cluster Anda menggunakan jenis node yang sama sesuai pilihan Anda. Jenis node terbaik untuk cluster Anda bergantung pada persyaratan harga, performa, dan kapasitas keyspace Anda.
Jenis node redis-shared-core-nano ditujukan untuk workload kecil. Jenis node ini memberikan performa yang bervariasi dan tidak memiliki SLA, sehingga tidak cocok untuk beban kerja produksi.
Jenis node redis-standard-small memungkinkan Anda menyediakan cluster kecil, dan mengembangkan cluster dengan inkremental yang lebih kecil dengan biaya yang berpotensi lebih rendah daripada jenis node lainnya. redis-standard-small juga menawarkan keuntungan mendistribusikan keyspace Anda di lebih banyak node dengan jumlah total vCPU yang lebih tinggi. Hal ini menawarkan peningkatan
performa harga dibandingkan dengan redis-highmem-medium, selama total
kapasitas keyspace node yang lebih kecil cukup untuk kebutuhan data Anda.
Jika Anda memiliki workload yang memerlukan kecepatan daya pemrosesan yang lebih tinggi dibandingkan dengan memori, pilih jenis node redis-highcpu-medium. Jika Anda memerlukan kapasitas yang lebih besar daripada yang disediakan redis-highmem-medium, sebaiknya pilih jenis node redis-standard-large, redis-highmem-xlarge, atau redis-highmem-2xlarge. Saat Anda menambahkan vCPU ke node yang semakin besar (menskalakan),
performa Redis mungkin tidak diskalakan secara linear. Sebagai gantinya, untuk mendapatkan performa harga yang lebih baik, sebaiknya Anda menskalakan dengan menambahkan lebih banyak node ke cluster.
Spesifikasi jenis node
Kapasitas dan karakteristik node bergantung pada jenis node yang Anda pilih:
Kapasitas keyspace dan overhead yang dicadangkan
| Jenis node | Kapasitas keyspace yang dapat ditulis default | Total kapasitas node |
|---|---|---|
| redis-shared-core-nano | 1,12 GB | 1,4 GB |
| redis-standard-small | 5,2 GB | 6,5 GB |
| redis-highmem-medium | 10,4 GB | 13 GB |
| redis-highcpu-medium | 10,4 GB | 13 GB |
| redis-standard-large | 20,8 GB | 26 GB |
| redis-highmem-xlarge | 46,4 GB | 58 GB |
| redis-highmem-2xlarge | 88 GB | 110 GB |
Memorystore secara otomatis menyisihkan sebagian kapasitas instance Anda untuk membantu mencegah error Kehabisan Memori (OOM). Hal ini memastikan pengalaman yang lancar dalam membaca dan menulis kunci. Batas memori dan detail penyimpanan adalah sebagai berikut:
Menyesuaikan penyimpanan: Meskipun sebaiknya gunakan setelan default, Anda memiliki opsi untuk menyesuaikan jumlah penyimpanan yang dicadangkan menggunakan konfigurasi
maxmemory. Untuk mengetahui informasi tentangmaxmemory, lihat Konfigurasi instance yang didukung.Berapa besar penyimpanan yang Anda dapatkan? Lihat kolom Kapasitas keyspace yang dapat ditulis default pada tabel sebelumnya. Bagian ini menunjukkan jumlah penyimpanan yang tersedia untuk kunci Anda secara default.
Memaksimalkan penyimpanan Jika Anda menginginkan penyimpanan semaksimal mungkin, kolom total kapasitas node akan menampilkan batas penyimpanan saat Anda menyetel konfigurasi
maxmemoryke 100%. Namun, jangan merekomendasikan pemilihan nilaimaxmemoryyang lebih tinggi dari setelan default.Jenis node
redis-shared-core-nanomemiliki batas tetap 1,12 GB, dan tidak dapat diubah dengan konfigurasimaxmemory.
Karakteristik node
| Jenis node | Jumlah vCPU | SLA yang ditawarkan | Jumlah koneksi klien default | Jumlah maksimum koneksi klien | Memori maksimum untuk klien (konfigurasi maxmemory-clients) |
|---|---|---|---|---|---|
| redis-shared-core-nano | 0,5 | Tidak | 5.000 | 5.000 | 12% |
| redis-standard-small | 2 | Ya | 16.000 | 32.000 | 7% |
| redis-highmem-medium | 2 | Ya | 32.000 | 64.000 | 7% |
| redis-highcpu-medium | 8 | Ya | 32.000 | 64.000 | 7% |
| redis-standard-large | 8 | Ya | 32.000 | 64.000 | 7% |
| redis-highmem-xlarge | 8 | Ya | 64.000 | 64.000 | 4% |
| redis-highmem-2xlarge | 16 | Ya | 64.000 | 64.000 | 4% |
Semakin banyak CPU virtual (vCPU) yang Anda pilih untuk cluster, semakin baik performanya. Jika cluster Anda menjalankan workload yang intensif resource, pilih jenis node dengan vCPU yang lebih tinggi (misalnya, redis-highmem-xlarge). Jika cluster Anda menjalankan tugas yang kurang berat, pilih jenis node dengan vCPU yang lebih rendah (misalnya, redis-highmem-medium).
Menskalakan instance
Sebagai bagian dari pembuatan instance Memorystore for Redis Cluster, Anda memilih jenis node untuk instance dan menentukan jumlah shard untuk instance. Setelah membuat instance, dan saat kebutuhan kapasitas untuk instance Anda berubah, Anda mungkin perlu menskalakan instance dengan cara berikut:
- Ubah jumlah shard untuk instance Anda. Ini adalah penskalaan horizontal.
Anda menskalakan instance secara horizontal dengan melakukan salah satu tindakan berikut:
- Tambahkan shard ke instance. Tindakan ini akan menskalakan instance keluar.
- Hapus shard dari instance. Tindakan ini menskalakan instance masuk.
- Ubah jenis node untuk instance Anda. Hal ini disebut penskalaan vertikal. Untuk menskalakan
instance secara vertikal, ubah jenis node instance menjadi salah satu
jenis node berikut:
- Beralih ke jenis node yang lebih besar. Tindakan ini akan menskalakan instance naik.
- Beralih ke jenis node yang lebih kecil. Tindakan ini akan menskalakan instance turun.
Spesifikasi cluster
Bagian ini menampilkan kapasitas cluster minimum dan maksimum berdasarkan bentuk cluster, jenis node, dan jumlah replika.
Kapasitas yang dapat ditulis minimum
Kapasitas yang dapat ditulis adalah jumlah penyimpanan yang tersedia untuk menulis kunci. Ukuran ini sama dengan ukuran satu node instance. Oleh karena itu, bergantung pada jenis node, kapasitas yang dapat ditulis minimum adalah antara 1,4 GB dan 110 GB. Kapasitas yang dapat ditulis minimum tidak terpengaruh oleh jumlah replika yang Anda pilih.
Kapasitas yang dapat ditulis maksimum
| Jenis dan ukuran node | Kapasitas maksimum untuk bentuk cluster yang diberikan adalah 250 node utama dan 0 replika per node | Kapasitas maksimum yang diberikan bentuk cluster 125 node utama dan 1 replika per node | Kapasitas maksimum yang diberikan bentuk cluster 83 node utama dan 2 replika per node | Kapasitas maksimum yang diberikan bentuk cluster 62 node utama dan 3 replika per node | Kapasitas maksimum yang diberikan bentuk cluster 50 node utama dan 4 replika per node | Kapasitas maksimum yang diberikan bentuk cluster 41 node utama dan 5 replika per node |
|---|---|---|---|---|---|---|
| redis-shared-core-nano - 1,4 GB | 350 GB | 175 GB | 116,2 GB | 86,8 GB | 70 GB | 57,4 GB |
| redis-standard-small - 6,5 GB | 1.625 GB | 812,5 GB | 539,5 GB | 403 GB | 325 GB | 266,5 GB |
| redis-highmem-medium - 13 GB | 3.250 GB | 1.625 GB | 1.079 GB | 806 GB | 650 GB | 533 GB |
| redis-highcpu-medium - 13 GB | 3.250 GB | 1.625 GB | 1.079 GB | 806 GB | 650 GB | 533 GB |
| redis-standard-large - 26 GB | 6.500 GB | 3.250 GB | 2.158 GB | 1.612 GB | 1300 GB | 1.066 GB |
| redis-highmem-xlarge - 58 GB | 14.500 GB | 7.250 GB | 4.814 GB | 3.596 GB | 2.900 GB | 2.378 GB |
| redis-highmem-2xlarge - 110 GB | 27.500 GB | 13.750 GB | 9.130 GB | 6.820 GB | 5.500 GB | 4.510 GB |
Performa
Menggunakan alat benchmarking memtier OSS di region us-central1 menghasilkan 120.000 - 130.000 operasi per detik per node 2 vCPU (redis-standard-small dan redis-highmem-medium) dengan latensi mikrodetik dan ukuran data 1 KiB.
Sebaiknya lakukan tolok ukur sendiri dengan beban kerja nyata atau beban kerja sintetis yang menyerupai traffic produksi Anda. Selain itu, kami merekomendasikan agar Anda menentukan ukuran cluster dengan buffer (atau "ruang kosong") untuk lonjakan workload atau traffic yang tidak terduga. Untuk panduan selengkapnya, lihat Praktik terbaik untuk Memorystore for Redis Cluster.
Endpoint cluster
Bagian ini menjelaskan dua endpoint yang dimiliki setiap instance.
Endpoint penemuan
Setiap instance memiliki endpoint penemuan yang dihubungkan oleh klien Anda. Kombinasi alamat IP dan nomor port. Untuk mengetahui petunjuk tentang cara menemukan endpoint penemuan cluster Anda, lihat Melihat endpoint penemuan cluster Anda.
Klien Anda juga menggunakannya untuk penemuan node. Klien Anda menggunakan endpoint penemuan untuk mengambil topologi cluster instance Anda guna mem-bootstrap klien cluster OSS Redis, dan terus memperbaruinya dalam kondisi stabil. Topologi cluster yang dihasilkan menyediakan endpoint node Redis (kombinasi IP dan port) untuk di-cache dalam memori oleh klien cluster Redis. Klien Anda kemudian akan menangani update dan pengalihan secara otomatis tanpa perlu perubahan aplikasi lainnya. Untuk mengetahui informasi tentang perilaku dan praktik terbaik penemuan klien, lihat Penemuan klien.
Endpoint penemuan sangat tersedia karena didukung oleh beberapa node Redis di beberapa zona untuk menyajikan topologi cluster. Menayangkan topologi melalui endpoint sangat andal meskipun menghadapi kegagalan node backend atau update node.
Endpoint penemuan Anda memiliki perilaku berikut:
Endpoint penemuan cluster Anda tetap tidak berubah di sepanjang siklus proses instance cluster, bahkan selama pemeliharaan, atau oleh tindakan lain yang Anda lakukan seperti melakukan penskalaan masuk atau keluar atau mengubah jumlah replika.
Endpoint node Redis dapat berubah dan dapat didaur ulang saat node ditambahkan dan dihapus dari waktu ke waktu. Sebaiknya, Anda menggunakan klien cluster Redis yang dapat menangani perubahan ini secara otomatis melalui refresh topologi dan pengalihan. Contoh klien cluster Redis dapat ditemukan di Contoh kode library klien. Aplikasi Anda tidak boleh memiliki dependensi atau asumsi bahwa endpoint node akan tetap tidak berubah untuk cluster tertentu.
Endpoint data
Selain endpoint penemuan, setiap cluster memiliki endpoint data. Endpoint ini dicadangkan untuk digunakan Memorystore for Redis Cluster guna menghubungkan klien Anda ke node dalam cluster. Oleh karena itu, jangan hubungkan ke endpoint ini secara langsung.