إضافة سياسة إيقاف الحدّ الأقصى المسموح به إلى واجهة برمجة التطبيقات

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

المعلومات التي ستطّلع عليها

من خلال هذا البرنامج التعليمي، ستتعلّم ما يلي:

  • يمكنك إضافة سياسة تؤثر في الطلب والاستجابة.
  • الاطّلاع على الآثار المترتبة على السياسة

المتطلبات

  • سياسة واحدة على الأقل في الخادم الوكيل (وهو جزء من البرنامج التعليمي للبدء).
  • تم تثبيت curl على جهازك لإجراء طلبات بيانات من واجهة برمجة التطبيقات من سطر الأوامر.

إضافة سياسة منع الارتفاع المفاجئ

في هذا البرنامج التعليمي، ستضيف سياسة SpikeArrest وتضبطها لحماية الخدمة المستهدفة من الارتفاع المفاجئ في عدد الزيارات الذي قد ينتج عن زيادة الاستخدام أو برامج الأخطاء أو الهجمات الضارة. عندما يتجاوز عدد الطلبات الحدّ الأقصى لمعدّل الزحف، تعرض واجهة برمجة التطبيقات خطأ HTTP 500 لأحد الطلبات.

إضافة سياسة Spike Arrest إلى خادم وكيل لواجهة برمجة التطبيقات:

  1. سجِّل الدخول إلى apigee.com/edge.
  2. حدّد التطوير > الخوادم الوكيلة لواجهة برمجة التطبيقات في شريط التنقل الأيمن.
  3. اختَر الخادم الوكيل لواجهة برمجة التطبيقات الذي تريد إضافة سياسة منع الارتفاع المفاجئ له.

    إذا كنت قد اتّبعت البرنامج التعليمي "البدء"، يمكنك إضافته إلى الخادم الوكيل "البدء" الذي أنشأته في قسم إنشاء خادم وكيل لواجهة برمجة التطبيقات.

  4. في محرِّر الخادم الوكيل الجديد لواجهة برمجة التطبيقات، انقر على علامة التبويب التطوير:

    يتيح لك "محرِّر الخادم الوكيل لواجهة برمجة التطبيقات" الاطّلاع على بنية الخادم الوكيل لواجهة برمجة التطبيقات وضبط تدفقه. يقدّم المحرِّر تمثيلاً مرئيًا لتدفق طلب الخادم الوكيل ورسالة الرد، بالإضافة إلى عرض قابل للتعديل لملف XML الأساسي الذي يحدّد الخادم الوكيل.

  5. في لوحة "المستكشف" اليمنى، انقر على PreFlow ضمن Proxy Endpoints > default. (ستتناول برامج تعليمية أخرى مفهوم التدفقات.)
  6. انقر على زر +خطوة العلوي المقابل لـ "طلب التخطيط المسبق". ويؤدي ذلك إلى عرض قائمة بجميع السياسات التي يمكنك إنشاؤها.

    انقر على "الخطوة" في طلب التدفق المسبق

  7. اختَر إيقاف حركة الزيارات في فئة "إدارة حركة المرور". سيظهر مربّع الحوار "السياسة الجديدة":

    إنشاء سياسة لإيقاف تسجيل الارتفاع

  8. اترك الأسماء التلقائية وانقر على إضافة. يتم إرفاق السياسة الجديدة بمسار الطلب السابق.
  9. في المستكشف، تأكَّد من استمرار اختيار PreFlow ضمن Proxy Endpoints > default واطّلِع على ما يلي في أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات:
    • تتم إضافة سياسة Spike Arrest-1 الجديدة ضِمن السياسات في أداة المستكشف على الجانب الأيمن من أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات.
    • تتم إضافة رمز Spike Arrest-1 إلى عرض المصمِّم في أعلى منتصف أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات، وهي تمثّل تمثيلاً مرئيًا لتدفقات رسائل الخادم الوكيل.
    • يتم عرض ملف XML للسياسة في عرض الرمز في وسط الجزء السفلي من أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات.

    عرض سياسة التدفق المسبق مع منع الارتفاع المفاجئ

  10. في المستكشف، حدد Spike Arrest-1 ضمن السياسات ولاحظ ما يلي في محرر الخادم الوكيل لواجهة برمجة التطبيقات:
    • يتم عرض تفاصيل السياسة في طريقة عرض المُصمِّم في أعلى منتصف أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات.
    • يتم عرض ملف XML للسياسة في عرض الرمز في الوسط السفلي من أداة تعديل الخادم الوكيل لواجهة برمجة التطبيقات.
    • يتم عرض عنصر XML وقيم السمات للسياسة في عارض الخصائص على الجانب الأيسر من محرّر الخادم الوكيل لواجهة برمجة التطبيقات.

  11. في ملف XML الخاص بالسياسة، يمكنك تغيير قيمة العنصر <Rate> إلى 1 مساءً (ما يؤدي إلى طلبَين تقريبًا مسموح بهما كل 60 ثانية في السحابة الإلكترونية).

    يمكنك تحديد المعدّل كقيمة عدد صحيح في الدقيقة (pm) أو في الثانية (ps). إنّ الحدّ الأقصى المسموح به منخفض جدًا ولا يتم استخدامه إلا في هذا البرنامج التعليمي لتوضيح السياسة. وعادةً ما تعيّنه إلى حد أعلى بكثير.

    لاحظ أن قيمة Rate في عارض الخصائص تتغير أيضًا إلى "1pm". يمكنك بدلاً من ذلك تغيير قيمة السعر في "عارض الخصائص" وستظهر في عرض XML.

  12. انقر على حفظ لحفظ النسخة السابقة الحالية مع التغييرات التي أجريتها.
  13. يمكنك طلب واجهة برمجة التطبيقات باستخدام curl، مع استبدال اسم مؤسسة Apigee بـ org_name:

    curl "http://org_name-test.apigee.net/getstarted"

    مثال:

    curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool

    تأكَّد من نجاح الطلب ومن ظهور استجابة XML نفسها كما في السابق. (يمكنك أيضًا إدخال عنوان URL فقط في متصفح ويب.)

  14. نفِّذ الأمر curl (أو أعِد تحميل نافذة المتصفّح) مرتين أو ثلاث مرات إضافية خلال دقيقة واحدة، ولاحظ أنّك تلقّيت الرسالة التالية لأنّك تجاوزت الحدّ الأقصى لمعدّل الزحف في السياسة:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    إذا حاولت إجراء المزيد من المكالمات خلال دقيقة، من المفترَض أن يستمر ظهور رسالة الخطأ.

  15. عدِّل سياستك لضبط الحدّ الأقصى المسموح به لـ <Rate> على 15 مساءً (ما يُترجم إلى مكالمتَين مسموحتَين به كل 4 ثوانٍ في السحابة الإلكترونية)، ثم احفظ الخادم الوكيل لواجهة برمجة التطبيقات.
  16. نفِّذ الأمر curl أو أعِد تحميل المتصفِّح بشكلٍ متكرر (curl أسرع). لاحظ أنه إذا أجريت مكالمة واحدة أو مكالمتين خلال فواصل زمنية تبلغ 4 ثوانٍ، فستنجح مكالماتك. وإذا أجريت مكالمتَين بسرعة، أي أكثر من مكالمتَين في غضون 4 ثوانٍ، من المفترض أن يحدث الخطأ. ولكن بعد كل فاصل زمني مدته 4 ثوانٍ، يمكنك مواصلة إجراء المكالمات بدلاً من حظر حسابك لمدة دقيقة كاملة (باستخدام الإعداد 1 مساءً).