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

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

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

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

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

المتطلبات

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

إضافة سياسة الاعتقال الزائد

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

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

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

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

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

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

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

    النقر على خطوة في طلب PreFlow

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

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

  8. اترك الأسماء التلقائية، وانقر على إضافة. تم إرفاق السياسة الجديدة بـ تدفق PreFlow لأحد الطلبات.
  9. في المستكشف، تأكد من أن PreFlow ضمن نقاط نهاية الخادم الوكيل > "تلقائي" محددة وملاحظة ما يلي في محرر الخادم الوكيل لواجهة برمجة التطبيقات:
    • تمت إضافة سياسة Spike Arrest-1 الجديدة ضمن السياسات في في الجانب الأيمن من محرر الخادم الوكيل لواجهة برمجة التطبيقات.
    • تتم إضافة رمز Spike Arrest-1 إلى عرض المصمم في أعلى منتصف محرر خادم وكيل واجهة برمجة التطبيقات، وهو تمثيل مرئي وتدفقات رسائل الخادم الوكيل.
    • يتم عرض XML للسياسة في عرض الرمز في في منتصف الجزء السفلي من محرر الخادم الوكيل لواجهة برمجة التطبيقات.

    عرض سياسة PreFlow مع ارتفاع عدد مرات القبض

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

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

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

    لاحِظ أنّ قيمة Rate في "Property Inspector" (عارض الخصائص) تتغيّر أيضًا إلى "1 مساءً". بدلاً من ذلك، يمكنك تغيير قيمة Rate (معدّل الضريبة) في "Property Inspector" (عارض الخصائص). وسيظهر ذلك في طريقة عرض 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 ظهرًا).