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 tentangmaxmemory
, 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 nilaimaxmemory
yang lebih tinggi daripada setelan default.Jenis node
redis-shared-core-nano
memiliki batas tetap 1,12 GB, dan tidak dapat diubah dengan konfigurasimaxmemory
.
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:
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.
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.