Cloud & IT Cert Prep · Pelajaran

Pendikitan, Cache dan Pelan Penggunaan

Lindungi bahagian belakang dengan had pendikitan lonjakan dan keadaan stabil, aktifkan cache respons dan cipta pelan penggunaan dengan kunci API untuk rakan kongsi.

Pelajaran 4 daripada 413 langkah

Pendikitan, Cache dan Pelan Penggunaan ialah pelajaran Cloud & IT Cert Prep percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cloud & IT Cert Prep, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Mengapa Pengehad Kadar Penting

Tanpa pengehad kadar, satu klien yang bermasalah atau lonjakan trafik boleh membebankan perkhidmatan bahagian belakang anda—keserentakan Lambda, sambungan RDS atau API hiliran. Pengehad kadar dalam API Gateway mengehadkan bilangan permintaan sesaat dan membenarkan lonjakan singkat melebihi kadar keadaan mantap. Permintaan yang dihadkan menerima respons 429 Too Many Requests serta-merta tanpa sampai ke bahagian belakang, sekali gus melindungi sumber hiliran daripada beban berlebihan.

Pengehad Kadar Peringkat Akaun dan Peringkat Tahap

Pengehad kadar beroperasi pada beberapa peringkat. Had peringkat akaun ialah 10,000 permintaan sesaat (RPS) dengan lonjakan 5,000 permintaan (had lembut yang boleh ditingkatkan). Pada peringkat tahap, anda boleh menetapkan kadar pengehad lalai (RPS) dan had lonjakan yang terpakai pada semua kaedah dalam tahap tersebut. Pada peringkat kaedah, anda boleh mengatasi lalai tahap untuk titik akhir tertentu—contohnya, memberikan titik akhir GET yang banyak membaca kadar lebih tinggi berbanding titik akhir POST yang banyak menulis.

aws apigateway update-stage \
  --rest-api-id 'abc123' \
  --stage-name 'prod' \
  --patch-operations \
    'op=replace,path=/*/*/throttling/rateLimit,value=1000' \
    'op=replace,path=/*/*/throttling/burstLimit,value=2000'

Algoritma Baldi Token

Pengehad kadar API Gateway menggunakan algoritma baldi token. Token terkumpul dalam baldi sehingga had lonjakan (kapasiti segera maksimum). Setiap permintaan menggunakan satu token. Token diisi semula pada had kadar (RPS keadaan mantap). Jika baldi kosong, permintaan dihadkan. Contoh: lonjakan=5000, kadar=1000 RPS. Pada permulaan, anda boleh mengendalikan 5000 permintaan serentak; baldi diisi semula dengan 1000 token sesaat. Ini membolehkan lonjakan trafik singkat diserap sambil menguatkuasakan had kadar jangka panjang.

Penyimpanan Cache Respons API Gateway

Penyimpanan cache respons (tersedia pada tahap REST API) menyimpan respons bahagian belakang dalam cache yang diuruskan oleh API Gateway supaya permintaan yang sama boleh disediakan daripada cache tanpa menghubungi bahagian belakang. Ini mengurangkan beban bahagian belakang, menurunkan kependaman dan boleh mengurangkan kos pemanggilan Lambda dengan ketara bagi API yang banyak membaca. Cache ditentukan berdasarkan permintaan (kaedah, laluan, rentetan pertanyaan dan pengepala mengikut konfigurasi). TTL cache boleh dikonfigurasikan daripada 0 hingga 3600 saat (lalai 300 saat).

aws apigateway update-stage \
  --rest-api-id 'abc123' \
  --stage-name 'prod' \
  --patch-operations \
    'op=replace,path=/cacheClusterEnabled,value=true' \
    'op=replace,path=/cacheClusterSize,value=0.5' \
    'op=replace,path=/*/*/caching/ttlInSeconds,value=300'

Penyesuaian Kunci Cache

Secara lalai, kunci cache ialah URL permintaan penuh. Anda boleh menyesuaikan elemen yang menyumbang kepada kunci cache: sertakan parameter rentetan pertanyaan tertentu (contohnya, pageSize, filter) tetapi kecualikan parameter yang tidak berkaitan (contohnya, cap masa). Anda juga boleh menyertakan pengepala tertentu dalam kunci cache. Kecualikan pengepala sensitif daripada kunci cache untuk mengelakkan data peribadi mencemari entri cache dikongsi. Gunakan penalaan kunci cache untuk memaksimumkan kadar cache hit sambil memastikan permintaan logik yang berbeza menerima respons cache yang berbeza.

Pembatalan Cache

Klien boleh membatalkan cache untuk permintaan tertentu dengan menyertakan pengepala Cache-Control: max-age=0. Anda juga boleh mengosongkan keseluruhan cache peringkat daripada konsol atau API. Konfigurasikan sama ada klien dibenarkan membatalkan cache—hadkan keupayaan ini dalam persekitaran produksi untuk menghalang klien daripada sengaja memintas caching. Untuk memberikan kebenaran mengosongkan cache secara terpilih, lampirkan dasar sumber atau gunakan pengesah Lambda yang menyemak sama ada pemanggil mempunyai kebenaran untuk mengosongkan cache.

# Flush entire stage cache
aws apigateway flush-stage-cache \
  --rest-api-id 'abc123' \
  --stage-name 'prod'

Pelan Penggunaan: Had Kadar bagi Setiap Klien

Pelan Penggunaan mentakrifkan had pendikitan dan had kuota untuk sekumpulan klien API. Kaitkan peringkat API dengan pelan penggunaan, kemudian kaitkan kunci API dengan pelan tersebut. Setiap kunci API menguatkuasakan had pelan secara berasingan. Pelan penggunaan membolehkan anda menawarkan akses berperingkat: pelan Percuma pada 100 RPM/10,000 permintaan sehari, dan pelan Pro pada 1,000 RPM/100,000 permintaan sehari. Inilah model untuk API yang dikomersialkan dan integrasi rakan kongsi apabila klien yang berbeza memerlukan had kadar yang berbeza.

# Create a usage plan
aws apigateway create-usage-plan \
  --name 'ProTier' \
  --throttle 'rateLimit=1000,burstLimit=2000' \
  --quota 'limit=100000,period=DAY' \
  --api-stages 'apiId=abc123,stage=prod'

Kunci API dan Pengenalpastian Klien

Kunci API ialah token rentetan legap yang disertakan oleh klien dalam pengepala permintaan x-api-key. API Gateway mengesahkan kunci tersebut dan mengaitkan permintaan dengan pelan penggunaan yang sepadan. Kunci API BUKAN mekanisme keselamatan—kunci ini hanya mengenal pasti klien untuk tujuan pendikitan dan kuota. Untuk keselamatan, sentiasa gabungkan kunci API dengan kebenaran yang sewajarnya (IAM, pengesah Lambda atau Cognito). Kunci API yang tidak dikaitkan dengan pelan penggunaan tidak akan dikenakan had pendikitan.

# Create an API key and associate with usage plan
aws apigateway create-api-key \
  --name 'PartnerABC-Key' \
  --enabled

aws apigateway create-usage-plan-key \
  --usage-plan-id 'uvw321' \
  --key-id 'xyz789' \
  --key-type API_KEY

Had Kuota dalam Pelan Penggunaan

Selain kadar pendikitan sesaat, pelan penggunaan menyokong had kuota: jumlah maksimum permintaan dalam suatu tempoh (DAY, WEEK atau MONTH). Setelah klien menghabiskan kuotanya, permintaan seterusnya mengembalikan 429 sehingga kuota ditetapkan semula. Had kuota berguna untuk penguatkuasaan peringkat percuma, mencegah penyalahgunaan API dan menyelaraskan penggunaan API dengan pengebilan. Kaunter kuota akhirnya menjadi konsisten, jadi klien mungkin melebihi kuotanya sedikit sebelum disekat.

Metrik CloudWatch untuk Pendikitan dan Cache

Pantau kesihatan API Gateway menggunakan metrik CloudWatch berikut:

  • Count: jumlah panggilan API
  • 4XXError: ralat klien termasuk pendikitan 429
  • 5XXError: ralat bahagian belakang
  • Latency: masa permintaan hujung ke hujung
  • IntegrationLatency: masa menunggu bahagian belakang
  • CacheHitCount / CacheMissCount: keberkesanan cache

Tetapkan penggera pada lonjakan 4XXError untuk mengesan masalah pendikitan sebelum menjejaskan pengguna, dan pada CacheMissCount untuk mengenal pasti masalah konfigurasi cache.

Bila Hendak Mendayakan Cache berbanding Pendikitan

Gunakan cache untuk API yang banyak membaca dan responsnya jarang berubah—seperti carian katalog produk, data rujukan dan konfigurasi statik. Cache tidak berkesan untuk data khusus pengguna atau data yang sangat dinamik. Sentiasa gunakan pendikitan—termasuk untuk API dalaman—untuk melindungi perkhidmatan bahagian belakang daripada beban berlebihan. Gabungkan kedua-duanya: cache data umum untuk mengurangkan beban bahagian belakang dan lakukan pendikitan secara agresif untuk menghalang mana-mana klien daripada menguasai API. Untuk peperiksaan SAA-C03, cache mengurangkan kos dan kependaman; pendikitan memastikan ketersediaan.

Semakan Pantas

Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini, anda telah mempelajari bahawa: pendikitan pada peringkat akaun, peringkat dan kaedah melindungi bahagian belakang menggunakan algoritma baldi token dengan had kadar dan letusan yang boleh dikonfigurasikan, cache respons menyimpan respons bahagian belakang untuk TTL yang boleh dikonfigurasikan bagi mengurangkan beban bahagian belakang dan kependaman pada titik akhir yang banyak membaca, manakala pelan penggunaan dengan kunci API menguatkuasakan kadar pendikitan dan kuota bagi setiap klien untuk membolehkan kawalan akses berperingkat bagi API rakan kongsi dan awam. Seterusnya, kita akan meneroka kluster ECS, takrif tugas dan perkhidmatan untuk beban kerja berbekas.

Percuma untuk bermula

Pelajari Cloud & IT Cert Prep dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
150
Pelajaran
600

Soalan Lazim

Adakah pelajaran “Pendikitan, Cache dan Pelan Penggunaan” percuma?

Ya — teks penuh “Pendikitan, Cache dan Pelan Penggunaan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cloud & IT Cert Prep, tingkat taraf kepada CoddyKit PRO. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pendikitan, Cache dan Pelan Penggunaan”?

Lindungi bahagian belakang dengan had pendikitan lonjakan dan keadaan stabil, aktifkan cache respons dan cipta pelan penggunaan dengan kunci API untuk rakan kongsi. Anda berlatih Cloud & IT Cert Prep menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cloud & IT Cert Prep?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cloud & IT Cert Prep di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Pendikitan, Cache dan Pelan Penggunaan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. API REST berbanding API HTTP berbanding API WebSocket
  2. Penyepaduan: Lambda, HTTP dan Olok-olok
  3. Keizinan: IAM, Pemberi Kuasa Lambda dan Cognito
  4. Pendikitan, Cache dan Pelan Penggunaan
← Kembali ke Cloud & IT Cert Prep