0Pricing
Serverless Backend with AWS Lambda & API Gateway · درس

التخزين المؤقت وتقييد المعدل

نفّذ التخزين المؤقت لتقليل زمن الاستجابة وأدِر ارتفاعات حركة المرور باستخدام تقييد المعدل وخطط الاستخدام في API Gateway

التخزين المؤقت وتقييد المعدل درس مجاني في Serverless Backend with AWS Lambda & API Gateway على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Serverless Backend with AWS Lambda & API Gateway، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Serverless Backend with AWS Lambda & API Gateway 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Boost API Performance

In the world of APIs, speed and reliability are key. High latency (slow responses) frustrates users, while sudden traffic spikes can crash your backend services.

This lesson explores two powerful features in AWS API Gateway: caching and throttling. They help you deliver fast, stable, and cost-effective APIs.

What is API Caching?

Caching is like having a temporary storage for frequently requested data. Instead of always fetching data from your backend (e.g., a database or Lambda function), API Gateway can store the response and serve it directly.

  • Reduces latency: Responses are returned much faster.
  • Lowers load: Your backend services receive fewer requests.
  • Saves costs: Less compute/database usage.

How API Gateway Caches

When caching is enabled for an API stage, API Gateway stores responses from your backend for a specified duration.

Here's how it works:

  1. A client sends a request to API Gateway.
  2. API Gateway checks if a valid response for that request is in its cache.
  3. If found, API Gateway immediately returns the cached response.
  4. If not found, API Gateway forwards the request to your backend, caches the response, then returns it to the client.

Enabling API Caching

Caching is configured at the API stage level. You specify a cache capacity and a default Time-to-Live (TTL) for cached responses.

  • Cache Capacity: The size of the cache (e.g., 0.5 GB to 237 GB).
  • TTL (Time-to-Live): How long responses are stored in the cache, in seconds (default 300s).
  • Encryption: Cache data can be encrypted at rest.

You can also override TTL per method or even disable caching for specific methods.

Clearing the Cache

What if your backend data changes? You don't want to serve stale cached data. This is where cache invalidation comes in.

  • Client-side: Clients can send a Cache-Control: max-age=0 header to bypass the cache and force a fresh response.
  • API Key: If using API keys, clients with the key can invalidate the cache for specific requests.
  • Manual: You can manually invalidate the entire stage cache via the AWS Management Console or CLI.

Controlling API Traffic

Throttling is about limiting the number of requests your API can receive over a certain period. Think of it as a traffic cop for your API.

It's crucial for:

  • Backend Protection: Prevents your backend services from being overwhelmed.
  • Cost Control: Reduces unexpected spikes in resource usage.
  • Fair Usage: Ensures all users get a reasonable share of API access.

How API Gateway Throttles

API Gateway enforces throttling based on two main metrics:

  • Rate: The steady-state number of requests per second (RPS) that clients can submit to your API.
  • Burst: The maximum number of concurrent requests API Gateway will fulfill before returning 429 Too Many Requests errors. This allows for brief spikes above the steady rate.

When limits are hit, API Gateway rejects excess requests, protecting your backend.

Default Throttling Limits

AWS sets default account-level throttling limits for API Gateway to ensure service stability across all users. These are soft limits, meaning you can request increases.

  • Example: A default might be 10,000 requests per second (RPS) and a burst of 5,000 concurrent requests across all APIs in a region.

These limits apply before any stage-specific or usage plan limits are considered.

Customizing Stage Throttling

Beyond account-level limits, you can configure stage-level throttling for individual methods or entire API stages.

  • You can set a default rate limit and burst limit for the entire stage (e.g., 100 RPS for dev, 1000 RPS for prod).
  • You can also override these defaults for specific HTTP methods (e.g., a POST /items might have a lower limit than a GET /items).

Throttling by User

For more granular control, especially when managing different user tiers or monetizing your API, you use Usage Plans combined with API Keys.

  • Usage Plan: Defines custom throttling limits (rate, burst) and quotas (total requests over a period) for a group of clients.
  • API Key: A unique identifier that clients include in their requests. API Gateway uses this key to map the client to a usage plan and enforce its specific limits.

This allows you to offer different service levels (e.g., Free, Premium) to different clients.

Quick Check

Understanding the purpose of throttling is crucial for building resilient APIs.

Caching & Throttling Summary

We've explored how caching dramatically improves API performance by reducing latency and backend load. We also learned how throttling protects your services from traffic spikes and ensures fair usage through account-level, stage-level, and usage plan configurations.

These features are essential for building robust and scalable serverless APIs with AWS API Gateway.

الأسئلة الشائعة

هل درس «التخزين المؤقت وتقييد المعدل» مجاني؟

نعم — نص درس «التخزين المؤقت وتقييد المعدل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Serverless Backend with AWS Lambda & API Gateway، انتقل إلى CoddyKit PRO. تتضمن دورة Serverless Backend with AWS Lambda & API Gateway 4 دروس في المجموع.

ماذا ستتعلم في «التخزين المؤقت وتقييد المعدل»؟

نفّذ التخزين المؤقت لتقليل زمن الاستجابة وأدِر ارتفاعات حركة المرور باستخدام تقييد المعدل وخطط الاستخدام في API Gateway تتمرن على Serverless Backend with AWS Lambda & API Gateway مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Serverless Backend with AWS Lambda & API Gateway؟

لا تُشترط خبرة سابقة. Serverless Backend with AWS Lambda & API Gateway على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «التخزين المؤقت وتقييد المعدل»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Serverless Backend with AWS Lambda & API Gateway هذا؟

نعم. كل درس في Serverless Backend with AWS Lambda & API Gateway يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التخزين المؤقت وتقييد المعدل
  2. تحويلات الطلبات والاستجابات
  3. أسماء النطاقات المخصّصة وتحسين الحافة
  4. واجهات WebSocket API للاتصال الفوري
← العودة إلى Serverless Backend with AWS Lambda & API Gateway