Cara kerjanya - Amazon ElastiCache (Redis) OSS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara kerjanya

Di sini Anda dapat menemukan ikhtisar komponen utama penyebaran ElastiCache (Redis OSS).

Mesin cache dan caching

Cache adalah penyimpanan data dalam memori yang dapat Anda gunakan untuk menyimpan data yang di-cache. Biasanya, aplikasi Anda akan menyimpan data yang sering diakses dalam cache untuk mengoptimalkan waktu respons. ElastiCache (Redis OSS) menawarkan dua opsi penerapan: Cluster tanpa server dan yang dirancang sendiri. Lihat Memilih antara opsi deployment

catatan

Amazon ElastiCache bekerja dengan mesin Redis OSS dan Memcached. Gunakan panduan untuk mesin yang sesuai. Jika Anda tidak yakin mesin yang ingin digunakan, lihat Membandingkan cache yang dirancang sendiri oleh Memcached dan Redis OSS dalam panduan ini.

Bagaimana ElastiCache (Redis OSS) bekerja

ElastiCache (Redis OSS) Tanpa server

ElastiCache (Redis OSS) Tanpa server memungkinkan Anda membuat cache tanpa khawatir tentang perencanaan kapasitas, manajemen perangkat keras, atau desain cluster. Anda cukup memberikan nama untuk cache Anda dan Anda menerima satu titik akhir yang dapat Anda konfigurasi di klien Redis OSS Anda untuk mulai mengakses cache Anda.

catatan

ElastiCache (Redis OSS) Tanpa server menjalankan Redis OSS dalam mode cluster dan hanya kompatibel dengan klien Redis OSS yang mendukung protokol cluster TLS dan Redis OSS.

Manfaat Utama

  • Tidak ada perencanaan kapasitas: ElastiCache Tanpa server menghilangkan kebutuhan Anda untuk merencanakan kapasitas. ElastiCache Tanpa server terus memantau memori, komputasi, dan pemanfaatan bandwidth jaringan cache Anda dan menskalakan baik secara vertikal maupun horizontal. Hal ini memungkinkan simpul cache untuk tumbuh dalam ukuran, sekaligus secara paralel memulai operasi menskalakan ke luar untuk memastikan bahwa cache dapat diskalakan untuk memenuhi persyaratan aplikasi Anda setiap saat.

  • Pay-per-use: Dengan ElastiCache Tanpa Server, Anda membayar untuk data yang disimpan dan menghitung yang digunakan oleh beban kerja Anda pada cache. Lihat Dimensi harga.

  • Ketersediaan tinggi: ElastiCache Tanpa server secara otomatis mereplikasi data Anda di beberapa Availability Zone (AZ) untuk ketersediaan tinggi. Layanan ini secara otomatis memantau simpul cache yang mendasarinya dan menggantinya jika terjadi kegagalan. Hal ini menawarkan SLA ketersediaan 99,99% untuk setiap cache.

  • Upgrade perangkat lunak otomatis: ElastiCache Tanpa server secara otomatis meningkatkan cache Anda ke versi perangkat lunak minor dan patch terbaru tanpa dampak ketersediaan apa pun pada aplikasi Anda. Ketika versi utama Redis OSS baru tersedia, ElastiCache akan mengirimkan pemberitahuan kepada Anda.

  • Keamanan: Nirserver selalu mengenkripsi data bergerak dan diam. Anda dapat menggunakan kunci yang dikelola layanan atau menggunakan Kunci Dikelola Pelanggan Anda sendiri untuk mengenkripsi data diam.

Diagram berikut menggambarkan bagaimana ElastiCache Serverless bekerja.

Diagram operasi cache ElastiCache Tanpa Server, dari zona ketersediaan ke VPC Pelanggan dan kemudian ke VPC Layanan.

Saat Anda membuat cache tanpa server baru, ElastiCache buat Titik Akhir Virtual Private Cloud (VPC) Virtual Private Cloud (VPC) di subnet pilihan Anda di VPC Anda. Aplikasi Anda dapat terhubung ke cache melalui Titik Akhir VPC ini.

Dengan ElastiCache Tanpa Server Anda menerima satu titik akhir DNS yang terhubung dengan aplikasi Anda. Saat Anda meminta koneksi baru ke titik akhir, ElastiCache Tanpa Server menangani semua koneksi cache melalui lapisan proxy. Lapisan proksi membantu mengurangi konfigurasi klien yang kompleks, karena klien tidak perlu menemukan kembali topologi klaster jika terjadi perubahan pada klaster yang mendasarinya. Lapisan proksi adalah sekumpulan simpul proksi yang menangani koneksi menggunakan penyeimbang beban jaringan. Saat aplikasi Anda membuat koneksi cache baru, permintaan dikirim ke simpul proksi oleh penyeimbang beban jaringan. Ketika aplikasi Anda mengeksekusi perintah cache, simpul proksi yang terhubung ke aplikasi Anda mengeksekusi permintaan di simpul cache di cache Anda. Lapisan proksi mengabstraksi topologi klaster cache dan simpul dari klien Anda. Hal ini memungkinkan ElastiCache untuk secara cerdas memuat keseimbangan, skala keluar dan menambahkan node cache baru, mengganti node cache ketika mereka gagal, dan memperbarui perangkat lunak pada node cache, semua tanpa dampak ketersediaan ke aplikasi Anda atau harus mengatur ulang koneksi.

Cluster yang dirancang sendiri ElastiCache

Anda dapat memilih untuk mendesain ElastiCache cluster Anda sendiri dengan memilih keluarga node cache, ukuran, dan jumlah node untuk cluster Anda. Merancang klaster Anda sendiri memberi Anda kontrol yang lebih terperinci dan memungkinkan Anda memilih jumlah serpihan di cache Anda dan jumlah simpul (primer dan replika) di setiap serpihan. Anda dapat memilih untuk mengoperasikan Redis OSS dalam mode cluster dengan membuat cluster dengan beberapa pecahan, atau dalam mode non-cluster dengan pecahan tunggal.

Manfaat Utama

  • Desain cluster Anda sendiri: Dengan ElastiCache, Anda dapat mendesain cluster Anda sendiri dan memilih di mana Anda ingin menempatkan node cache Anda. Misalnya, jika Anda memiliki aplikasi yang ingin menukar ketersediaan tinggi dengan latensi rendah, Anda dapat memilih untuk menerapkan simpul cache Anda dalam satu AZ. Anda juga dapat mendesain klaster Anda dengan simpul di beberapa AZ untuk mencapai ketersediaan tinggi.

  • Kontrol terperinci: Saat mendesain klaster sendiri, Anda memiliki kontrol yang lebih besar dalam menyempurnakan pengaturan cache Anda. Misalnya, Anda dapat menggunakan Parameter khusus Redis OS untuk mengonfigurasi mesin cache.

  • Menskalakan secara vertikal dan horizontal: Anda dapat memilih untuk menskalakan klaster Anda secara manual dengan menambah atau mengurangi ukuran simpul cache saat diperlukan. Anda juga dapat menskalakan secara horizontal dengan menambahkan serpihan baru atau menambahkan lebih banyak replika ke serpihan Anda. Anda juga dapat menggunakan fitur Auto-Scaling untuk mengonfigurasi penskalaan berdasarkan jadwal atau penskalaan berdasarkan metrik seperti penggunaan CPU dan Memori pada cache.

Diagram berikut menggambarkan bagaimana cluster yang ElastiCache dirancang sendiri bekerja.

Diagram operasi cluster yang ElastiCache dirancang sendiri, dari zona ketersediaan ke VPC Pelanggan dan kemudian ke ElastiCache node cache yang dikelola.

Dimensi harga

Anda dapat menerapkan ElastiCache dalam dua opsi penerapan. Saat menerapkan ElastiCache Tanpa Server, Anda membayar penggunaan untuk data yang disimpan dalam GB-jam dan menghitung di ElastiCache Unit Pemrosesan (ECPU). Saat memilih untuk mendesain cluster ElastiCache (Redis OSS) Anda sendiri, Anda membayar per jam penggunaan node cache. Lihat detail harga di sini.

Penyimpanan data

Anda membayar data yang disimpan dalam ElastiCache Serverless yang ditagih dalam gigabyte-hours (GB-HRs). ElastiCache Tanpa server terus memantau data yang disimpan dalam cache Anda, mengambil sampel beberapa kali per menit, dan menghitung rata-rata per jam untuk menentukan penggunaan penyimpanan data cache dalam GB-jam. Setiap cache ElastiCache Tanpa Server diukur untuk minimal 1 GB data yang disimpan.

ElastiCache Unit Pemrosesan (ECPU)

Anda membayar permintaan Redis OSS yang dijalankan aplikasi Anda di ElastiCache Tanpa Server di Unit ElastiCache Pemrosesan (ECPU), unit yang mencakup waktu vCPU dan data yang ditransfer.

  • Bacaan dan penulisan sederhana membutuhkan 1 ECPU untuk setiap kilobyte (KB) data yang ditransfer. Misalnya, perintah GET yang mentransfer hingga 1 KB data mengonsumsi 1 ECPU. Permintaan SET yang mentransfer 3,2 KB data akan mengonsumsi 3,2 ECPU.

  • Perintah yang membutuhkan waktu vCPU tambahan akan mengonsumsi lebih banyak ECPU secara proporsional. Misalnya, jika aplikasi Anda menggunakan perintah Redis OSS HMGET, dan mengkonsumsi 3 kali waktu vCPU sebagai perintah SET/GET sederhana, maka itu akan mengkonsumsi 3 ECPU.

  • Perintah yang mengonsumsi lebih banyak waktu vCPU dan mentransfer lebih banyak data mengonsumsi ECPU berdasarkan yang lebih tinggi dari dua dimensi. Misalnya, jika aplikasi Anda menggunakan perintah HMGET, mengonsumsi 3 kali waktu vCPU sebagai perintah SET/GET sederhana, dan mentransfer 3,2 KB data, perintah akan mengonsumsi 3,2 ECPU. Atau, jika data yang ditransfer hanya berukuran 2 KB, perintah akan mengonsumsi 3 ECPU.

ElastiCache Tanpa server memancarkan metrik baru yang disebut yang membantu Anda memahami ECPU ElastiCacheProcessingUnits yang dikonsumsi oleh beban kerja Anda.

Jam simpul

Anda dapat memilih untuk merancang cluster cache Redis OSS Anda sendiri dengan memilih keluarga node EC2, ukuran, jumlah node, dan penempatan di seluruh Availability Zones. Saat mendesain sendiri klaster Anda, Anda membayar per jam untuk setiap simpul cache.

ElastiCache (Redis OSS) cadangan

Cadangan adalah point-in-time salinan cache Redis OSS. ElastiCache memungkinkan Anda untuk mengambil cadangan data Anda kapan saja atau mengatur cadangan otomatis. Cadangan dapat digunakan untuk memulihkan cache yang sudah ada atau melakukan seeding cache baru. Cadangan terdiri dari semua data dalam cache ditambah beberapa metadata. Untuk informasi selengkapnya, lihat Melakukan snapshot dan pemulihan.