Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Yang akan Anda pelajari
Melalui tutorial ini, Anda akan mempelajari cara:
- Tambahkan kebijakan yang memengaruhi permintaan dan respons.
- Lihat dampak kebijakan tersebut.
Yang akan Anda butuhkan
- Minimal satu kebijakan di proxy Anda (juga bagian dari tutorial Memulai).
curl
yang diinstal di komputer Anda untuk melakukan panggilan API dari command line.
Menambahkan kebijakan Spike Arrest
Dalam tutorial ini, Anda akan menambahkan dan mengonfigurasi kebijakanSpikeArrest untuk melindungi layanan target dari lonjakan traffic tiba-tiba yang dapat disebabkan oleh peningkatan penggunaan, klien yang memiliki bug, atau serangan berbahaya. Jika jumlah permintaan melebihi batas kapasitas, API akan menampilkan error HTTP 500 untuk permintaan.
Tambahkan kebijakan Spike Arrest ke proxy API:
- Login ke apigee.com/edge.
- Pilih Develop > API Proxies di menu navigasi sebelah kiri.
- Pilih proxy API tempat Anda ingin menambahkan kebijakan Spike Arrest.
Jika telah mengikuti tutorial Memulai, Anda dapat menambahkannya ke proxy "getstarted" yang Anda buat di Membuat proxy API.
- Di editor untuk proxy API baru, klik tab Develop:
Editor Proxy API memungkinkan Anda melihat struktur proxy API dan mengonfigurasi alurnya. Editor menyajikan representasi visual dari alur pesan respons dan permintaan proxy Anda serta tampilan XML dasar yang menentukan proxy yang dapat diedit.
- Di panel Navigator kiri, klik PreFlow di bagian Proxy Endpoints > default. (Tutorial lainnya akan membahas konsep flows).
- Klik tombol +Step atas, yang sesuai dengan Request PreFlow. Tindakan ini akan menampilkan daftar kategori semua kebijakan yang dapat Anda buat.
- Pilih Penanganan Lonjakan di kategori Pengelolaan Traffic. Dialog New Policy akan muncul:
- Biarkan nama default, lalu klik Add. Kebijakan baru ini disertakan pada alur PreFlow permintaan.
- Di Navigator, pastikan PreFlow di bagian Proxy Endpoints
> default masih dipilih dan perhatikan hal berikut di API Proxy Editor:
- Kebijakan Spike Arrest-1 yang baru ditambahkan di bagian Kebijakan di Navigator di sebelah kiri API Proxy Editor.
- Ikon Spike Arrest-1 ditambahkan ke Designer view di bagian tengah atas API Proxy Editor, yang merupakan representasi visual dari alur pesan proxy.
- XML untuk kebijakan tersebut ditampilkan di Tampilan kode di bagian tengah bawah Editor Proxy API.
- Di Navigator, pilih Spike Arrest-1 di bagian Kebijakan dan perhatikan hal-hal berikut di API Proxy Editor:
- Detail kebijakan ditampilkan dalam Designer view di bagian tengah atas Proxy Editor API.
- XML untuk kebijakan tersebut ditampilkan di Code view di bagian tengah bawah API Proxy Editor.
- Elemen XML dan nilai atribut untuk kebijakan ditampilkan di Property Inspector di sisi kanan API Proxy Editor.
-
Dalam XML untuk kebijakan tersebut, ubah nilai elemen
<Rate>
menjadi 13.00 (yang berarti sekitar 2 permintaan diizinkan setiap 60 detik di cloud).Anda dapat menentukan kecepatan sebagai nilai bilangan bulat per menit (
pm
) atau per detik (ps
). Ini adalah batas yang sangat rendah dan hanya digunakan untuk tutorial ini guna mendemonstrasikan kebijakan. Biasanya, Anda menetapkannya ke batas yang jauh lebih tinggi.Perhatikan bahwa nilai
Rate
di Property Inspector juga berubah menjadi "1pm". Atau, Anda dapat mengubah nilai Rate di Property Inspector dan nilai tersebut akan tercermin dalam tampilan XML. - Klik Simpan untuk menyimpan revisi saat ini dengan perubahan Anda.
-
Panggil API menggunakan
curl
, dengan mengganti nama organisasi Apigee Anda dengan org_name:curl "http://org_name-test.apigee.net/getstarted"
Contoh:
curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool
Pastikan permintaan berhasil dan Anda melihat respons XML yang sama seperti yang Anda lakukan sebelumnya. (Anda juga dapat memasukkan URL saja di browser web.)
- Jalankan perintah
curl
(atau muat ulang jendela browser) dua atau tiga kali lagi dalam satu menit, dan perhatikan bahwa Anda mendapatkan pesan berikut karena Anda melampaui batas kapasitas kebijakan:{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }
Jika mencoba melakukan lebih banyak panggilan dalam satu menit, seharusnya Anda terus mendapatkan pesan kesalahan.
- Edit kebijakan Anda untuk menetapkan batas <
Rate>
ke 15.00 (yang berarti sekitar 2 panggilan yang diizinkan setiap 4 detik di cloud), lalu simpan proxy API. - Jalankan perintah
curl
atau muat ulang browser berulang kali (curl
lebih cepat). Perhatikan, jika Anda melakukan satu atau dua panggilan dalam interval 4 detik, panggilan Anda berhasil. Jika Anda melakukan panggilan dengan cepat, lebih dari dua kali dalam waktu 4 detik, Anda akan mendapatkan kesalahan. Namun, setelah setiap interval 4 detik, Anda dapat terus melakukan panggilan, sehingga tidak harus diblokir selama satu menit penuh (dengan setelan pukul 13.00).