Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Topik ini menjelaskan cara kerja cache di bawah kebijakan seperti kebijakan Populate Cache, kebijakan LookupCache, kebijakan InvalidateCache, dan kebijakan Response Cache.
Cache bersama dan lingkungan
Setiap kebijakan caching yang Anda konfigurasi dapat menggunakan salah satu dari dua jenis cache: cache bersama yang disertakan dan dapat diakses oleh aplikasi Anda serta satu atau beberapa cache cakupan lingkungan yang Anda buat.
-
Cache bersama: Secara default, proxy Anda memiliki akses ke satu cache bersama di
setiap lingkungan. Cache bersama berfungsi dengan baik untuk kasus penggunaan dasar.
Anda hanya dapat menggunakan cache bersama dengan menggunakan kebijakan caching, bukan management API. Agar kebijakan caching menggunakan cache bersama, cukup hapus elemen kebijakan
<CacheResource>. -
Cache lingkungan: Jika ingin mengonfigurasi properti cache dengan nilai yang Anda
pilih, Anda dapat membuat cache cakupan lingkungan. Untuk mengetahui informasi selengkapnya tentang cara membuat cache, lihat
Membuat dan mengedit cache lingkungan.
Saat membuat cache lingkungan, Anda mengonfigurasi properti defaultnya. Anda dapat membuat kebijakan caching menggunakan cache lingkungan dengan menentukan nama cache dalam elemen
<CacheResource>kebijakan.
Tentang enkripsi cache
Edge untuk Cloud Publik: Cache dienkripsi hanya di organisasi yang mengaktifkan PCI- dan HIPAA. Enkripsi untuk organisasi tersebut dikonfigurasi selama penyediaan organisasi.
Level cache dalam memori dan persisten
Cache bersama dan lingkungan dibangun pada sistem dua tingkat yang terdiri dari tingkat dalam memori dan tingkat persisten. Kebijakan berinteraksi dengan kedua tingkat sebagai framework gabungan. Edge mengelola hubungan antar-tingkat.

-
Level 1 adalah cache dalam memori (L1) untuk akses cepat. Setiap node pemrosesan pesan (MP)
memiliki cache dalam memori sendiri (diimplementasikan dari Ehcache) untuk respons tercepat terhadap permintaan.
- Di setiap node, persentase memori tertentu dicadangkan untuk digunakan oleh cache.
- Saat batas memori tercapai, Apigee Edge akan menghapus entri cache dari memori (meskipun masih disimpan dalam cache persisten L2) untuk memastikan memori tetap tersedia untuk proses lainnya.
- Entri dihapus dalam urutan waktu sejak akses terakhir, dengan entri terlama dihapus terlebih dahulu.
- Cache ini juga dibatasi oleh jumlah entri dalam cache.
-
Level 2 adalah cache persisten (L2) di bawah cache dalam memori. Semua node pemrosesan
berbagi penyimpanan data cache (Cassandra) untuk mempertahankan entri cache.
- Entri cache tetap ada di sini meskipun setelah dihapus dari cache L1, seperti saat batas dalam memori tercapai.
- Karena cache persisten dibagikan di seluruh pemroses pesan (bahkan di region yang berbeda), entri cache tersedia terlepas dari node mana yang menerima permintaan data yang di-cache.
- Hanya entri dengan ukuran tertentu yang dapat di-cache, dan batas cache lainnya berlaku. Lihat Mengelola batas cache.
Anda mungkin juga tertarik dengan Apigee Edge Caching In Detail, di Komunitas Apigee.
Cara kebijakan menggunakan cache
Berikut ini dijelaskan cara Apigee Edge menangani entri cache saat kebijakan caching Anda melakukan tugasnya.
- Saat kebijakan menulis entri baru ke cache (kebijakan PopulateCache atau
ResponseCache):
- Edge menulis entri ke cache L1 dalam memori hanya pada pemroses pesan yang menangani permintaan. Jika batas memori pada pemroses pesan tercapai sebelum masa berlaku entri berakhir, Edge akan menghapus entri dari cache L1.
- Edge juga menulis entri ke cache L2.
- Saat kebijakan membaca dari cache (kebijakan LookupCache atau ResponseCache):
- Edge pertama-tama mencari entri di cache L1 dalam memori pemroses pesan menangani permintaan.
- Jika tidak ada entri dalam memori yang sesuai, Edge akan mencari entri di cache persisten L2.
- Jika entri tidak ada dalam cache persisten:
- Kebijakan LookupCache: Tidak ada nilai yang diambil dari cache.
- Kebijakan ResponseCache: Edge menampilkan respons sebenarnya dari target ke klien dan menyimpan entri dalam cache hingga masa berlakunya berakhir atau dibatalkan.
- Saat kebijakan memperbarui atau membatalkan entri cache yang ada (kebijakan InvalidateCache, PopulateCache, atau ResponseCache):
- Pemroses pesan yang menerima permintaan mengirimkan siaran untuk memperbarui atau menghapus entri
di cache L1 pada dirinya sendiri dan semua pemroses pesan lainnya di semua region.
- Jika siaran berhasil, setiap pemroses pesan yang menerima akan memperbarui atau menghapus entri di cache L1.
- Jika siaran gagal, nilai cache yang dibatalkan akan tetap berada di cache L1 pada pemroses pesan yang tidak menerima siaran. Pemroses pesan tersebut akan memiliki data lama di cache L1 hingga masa berlaku (TTL) entri berakhir atau dihapus saat batas memori pemroses pesan tercapai.
- Siaran juga memperbarui atau menghapus entri di cache L2.
- Pemroses pesan yang menerima permintaan mengirimkan siaran untuk memperbarui atau menghapus entri
di cache L1 pada dirinya sendiri dan semua pemroses pesan lainnya di semua region.
Mengelola batas cache
Melalui konfigurasi, Anda dapat mengelola beberapa aspek cache. Ruang keseluruhan yang tersedia untuk cache dalam memori dibatasi oleh resource sistem dan tidak dapat dikonfigurasi. Batasan berikut berlaku untuk cache:
- Batas cache: Berbagai batas cache berlaku, seperti ukuran nama dan nilai, jumlah total cache, jumlah item dalam cache, dan masa berlaku.
-
Cache dalam memori (L1). Batas memori untuk cache Anda tidak dapat dikonfigurasi. Batas ditetapkan oleh Apigee untuk setiap pemroses pesan yang menghosting cache untuk beberapa pelanggan.
Di lingkungan cloud yang dihosting, tempat cache dalam memori untuk semua deployment pelanggan dihosting di beberapa pemroses pesan bersama, setiap pemroses memiliki nilai persentase memori yang dapat dikonfigurasi Apigee untuk memastikan bahwa caching tidak menggunakan semua memori aplikasi. Saat nilai persentase terlampaui untuk pemroses pesan tertentu, entri cache akan dikeluarkan dari memori berdasarkan basis yang paling lama tidak digunakan. Entri yang dikeluarkan dari memori akan tetap berada di cache L2 hingga masa berlakunya berakhir atau dibatalkan.
- Cache persisten (L2). Entri yang dikeluarkan dari cache dalam memori akan tetap berada di cache persisten sesuai dengan setelan masa berlaku yang dapat dikonfigurasi.
Pengoptimalan yang dapat dikonfigurasi
Tabel berikut mencantumkan setelan yang dapat Anda gunakan untuk mengoptimalkan performa cache. Anda dapat menentukan nilai untuk setelan ini saat membuat cache lingkungan baru, seperti yang dijelaskan dalam Membuat dan mengedit cache lingkungan.
| Setelan | Deskripsi | Catatan |
|---|---|---|
| Masa berlaku | Menentukan time to live (TTL) untuk entri cache. | Tidak ada. |