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 Anda untuk harga, performa, dan kapasitas keyspace.

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 rasio harga-performa yang lebih baik dibandingkan dengan redis-highmem-medium, selama total kapasitas keyspace node yang lebih kecil cukup untuk kebutuhan data Anda.

Sebaiknya pilih jenis node redis-highmem-xlarge hanya jika Anda memerlukan kapasitas cluster yang lebih besar daripada yang disediakan redis-highmem-medium. Meskipun jenis node redis-highmem-xlarge empat kali lebih besar daripada jenis redis-highmem-medium, performanya tidak empat kali lebih besar, karena performa Redis tidak diskalakan secara linear saat vCPU ditambahkan ke node yang semakin besar (penskalakan vertikal). Sebagai gantinya, untuk mendapatkan performa harga yang lebih baik, Anda harus melakukan penskalaan horizontal dengan menambahkan lebih banyak node ke cluster.

Spesifikasi jenis node

Kapasitas dan karakteristik node bergantung pada jenis node yang Anda pilih dari empat jenis node yang tersedia:

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-highmem-xlarge 46,4 GB 58 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 Anda: 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 di tabel sebelumnya. Ini menunjukkan jumlah penyimpanan yang tersedia untuk kunci Anda secara default.

  • Memaksimalkan penyimpanan Jika Anda menginginkan penyimpanan semaksimal mungkin, kolom total kapasitas node menampilkan batas penyimpanan saat Anda menyetel konfigurasi maxmemory ke 100%. Namun, jangan merekomendasikan pemilihan nilai maxmemory yang lebih tinggi daripada 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 Klien maksimum Memori maksimum untuk klien (konfigurasi maxmemory-clients)
redis-shared-core-nano 0,5 Tidak 5.000 12%
redis-standard-small 2 Ya 16.000 (default). Nilai maksimum adalah 32.000 7%
redis-highmem-medium 2 Ya 32.000 (default). Nilai maksimum adalah 64.000 7%
redis-highmem-xlarge 8 Ya 64.000 4%

Makin banyak CPU virtual (vCPU) yang Anda pilih untuk cluster, makin 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 menuntut, 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 disebut 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. Ini adalah 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 1,4 GB, 6,5 GB, 13 GB, atau 58 GB. Kapasitas yang dapat ditulis minimum tidak terpengaruh oleh jumlah replika yang Anda pilih.

Kapasitas yang dapat ditulis maksimum

Jenis dan ukuran node Kapasitas maks. dengan bentuk cluster 250 node utama dan 0 replika per node Kapasitas maksimum dengan bentuk cluster 125 node utama dan 1 replika per node Kapasitas maks. dengan bentuk cluster 83 node utama dan 2 replika per node
redis-shared-core-nano - 1,4 GB 350 GB 175 GB 116,2 GB
redis-standard-small - 6,5 GB 1.625 GB 812,5 GB 539,5 GB
redis-highmem-medium - 13 GB 3.250 GB 1.625 GB 1.079 GB
redis-highmem-xlarge - 58 GB 14.500 GB 7.250 GB 4.814 GB

Performa

Menggunakan alat benchmark 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 Anda sendiri dengan beban kerja nyata atau beban kerja sintetis yang menyerupai traffic produksi Anda. Selain itu, sebaiknya Anda menyesuaikan ukuran cluster dengan buffer (atau "ruang kosong") untuk lonjakan beban kerja 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 terhubung dengan klien Anda. Kombinasi alamat IP dan nomor port. Untuk mengetahui petunjuk 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. Kemudian, klien Anda akan menangani update dan pengalihan secara otomatis tanpa memerlukan 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 menyalurkan topologi cluster. Topologi penayangan melalui endpoint tetap 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 dengan tindakan lain yang Anda lakukan seperti memperkecil atau memperbesar skala atau mengubah jumlah replika.

  2. Endpoint node Redis dapat berubah dan dapat didaur ulang saat node ditambahkan dan dihapus dari waktu ke waktu. Idealnya, Anda harus 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

Setiap instance juga memiliki endpoint data Private Service Connect yang digunakan Memorystore for Redis Cluster untuk koneksi klien. Anda tidak boleh terhubung ke endpoint ini secara langsung, tetapi Memorystore for Redis Cluster menggunakan endpoint ini untuk menghubungkan klien Anda ke node cluster.