Spesifikasi cluster dan node

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 tentang maxmemory, 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 maxmemory ke 100%. Namun, jangan merekomendasikan pemilihan nilai maxmemory yang lebih tinggi dari setelan default.

  • Jenis node redis-shared-core-nano memiliki batas tetap 1,12 GB, dan tidak dapat diubah dengan konfigurasi maxmemory.

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:

  1. 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.

  2. 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.