Bagikan melalui


Menambahkan cache untuk meningkatkan kinerja di Azure API Management

BERLAKU UNTUK: Pengembang | Dasar | Dasar v2 | Standar | Standar v2 | Premium | Premium v2 | Terisolasi

API dan operasi dalam API Management dapat dikonfigurasi dengan cache respons. Cache respons dapat secara signifikan mengurangi latensi bagi pemanggil API dan muatan backend untuk penyedia API. Artikel ini menjelaskan cara menambahkan caching ke API Anda.

Penting

Cache bawaan bersifat volatil dan dibagikan oleh semua unit di wilayah yang sama dalam instans API Management yang sama. Terlepas dari jenis cache yang digunakan (internal atau eksternal), jika operasi terkait cache gagal terhubung ke cache karena volatilitas cache atau karena alasan lain, panggilan API yang menggunakan operasi terkait cache tidak menimbulkan kesalahan, dan operasi cache berhasil diselesaikan. Dalam kasus operasi baca, nilai null dikembalikan ke ekspresi kebijakan panggilan. Kode kebijakan Anda harus dirancang untuk memastikan bahwa ada mekanisme fallback untuk mengambil data yang tidak ditemukan di cache.

Cuplikan layar yang memperlihatkan kebijakan cache di API Management.

Dalam artikel ini Anda:

  • Menambahkan cache respons untuk API Anda
  • Pastikan bahwa caching berfungsi

Catatan

Penembolokan internal tidak tersedia di lapisan Konsumsi Azure API Management. Sebagai gantinya, Anda dapat menggunakan Azure Cache for Redis eksternal. Anda juga dapat mengonfigurasi cache eksternal di tingkat layanan API Management lainnya.

Prasyarat

Menambahkan kebijakan cache

Dengan kebijakan caching yang ditunjukkan dalam contoh ini, permintaan pertama ke operasi pengujian mengembalikan respons dari layanan pendukung. Respons ini kemudian di-cache, di-keyed oleh header dan parameter string kueri yang ditentukan. Panggilan berikutnya ke operasi, dengan parameter yang sesuai, akan mengembalikan respons cache hingga masa berlaku cache berakhir.

  1. Masuk ke portal Azure.

  2. Buka instans API Management Anda.

  3. Pilih API> di menu di sebelah kiri.

  4. Pilih API yang ingin Anda konfigurasikan penembolokannya.

  5. Di bagian atas layar, pilih tab Desain .

  6. Di bagian Pemrosesan masuk , pilih <ikon /> :

    Cuplikan layar yang memperlihatkan API Management API di portal.

  7. inbound Dalam elemen , tambahkan kebijakan berikut:

    <cache-lookup vary-by-developer="false" vary-by-developer-groups="false">
        <vary-by-header>Accept</vary-by-header>
        <vary-by-header>Accept-Charset</vary-by-header>
        <vary-by-header>Authorization</vary-by-header>
    </cache-lookup>
    <rate-limit calls="10" renewal-period="60" />
    

    Catatan

    Tambahkan kebijakan batas tarif (atau kebijakan batas tarif berdasarkan kunci ) setelah pencarian cache untuk membantu membatasi jumlah panggilan dan mencegah kelebihan beban pada layanan backend jika cache tidak tersedia.

  8. outbound Dalam elemen , tambahkan kebijakan berikut:

    <cache-store duration="20" />
    

    Dalam kebijakan ini, duration menentukan interval kedaluwarsa respons yang di-cache. Intervalnya adalah 20 detik.

  9. Pilih Simpan.

Petunjuk / Saran

Jika Anda menggunakan cache eksternal, seperti yang dijelaskan dalam Menggunakan cache eksternal yang kompatibel dengan Redis di Azure API Management, Anda mungkin ingin menentukan atribut dari kebijakan penembolokan tersebut. Lihat kebijakan caching API Management untuk informasi selengkapnya.

Memanggil operasi untuk menguji cache

Untuk menguji penggunaan cache, lakukan operasi di portal.

  1. Di portal Azure, buka instans API Management Anda.
  2. Pilih API> di menu di sebelah kiri.
  3. Pilih API tempat Anda menambahkan kebijakan cache.
  4. Pilih operasi yang akan diuji.
  5. Pilih tab Uji di bagian atas jendela.
  6. Pilih Lacak dua atau tiga kali berturut-turut dengan cepat.
  7. Di bawah respons HTTP, pilih tab Lacak .
  8. Lompat ke bagian Masuk dan gulir ke cache-lookup kebijakan. Anda akan melihat pesan yang mirip dengan pesan di cuplikan layar berikut, yang menunjukkan hit cache: Cuplikan layar pencarian cache saat menguji API di portal.