افزودن خط‌مشی «مهار جهش» به میانای برنامه‌سازی کاربردی

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

آنچه خواهید آموخت

ازطریق این آموزش، با موارد زیر آشنا می‌شوید:

  • خط‌مشی‌ای اضافه کنید که بر درخواست و پاسخ تأثیر بگذارد.
  • تأثیرات خط‌مشی را ببینید.

آنچه نیاز خواهید داشت

  • حداقل یک خط‌مشی در پراکسی شما (همچنین بخشی از آموزش گام‌به‌گام «شروع به کار»).
  • curl روی ماشین شما نصب شده است تا بتوانید از خط فرمان تماس‌های API برقرار کنید.

افزودن خط‌مشی «مهار جهش»

در این آموزش گام‌به‌گام، خط‌مشی SpikeArrest را اضافه و پیکربندی می‌کنید تا از سرویس هدف دربرابر جهش‌های ناگهانی ترافیک که می‌تواند ناشی از افزایش استفاده، مشتریان دارای اشکال، یا حملات مخرب باشد محافظت کنید. وقتی تعداد درخواست‌ها از حد نرخ فراتر رود، API برای درخواست خطای HTTP 500 برمی‌گرداند.

خط‌مشی «مهار جهش» را به پراکسی API اضافه کنید:

  1. به سیستم apigee.com/edge وارد شوید.
  2. در نوار پیمایش سمت راست، توسعه > پراکسی‌های API را انتخاب کنید.
  3. کارگزار نیابتی API را که می‌خواهید خط‌مشی «جلوگیری از جهش» را به آن اضافه کنید انتخاب کنید.

    اگر از آموزش گام‌به‌گام «شروع به کار» پیروی کرده‌اید، می‌توانید آن را به کارگزار «getstarted» که در ایجاد کارگزار API ایجاد کرده‌اید اضافه کنید.

  4. در ویرایشگر کارگزار نیابتی جدید API، روی برگه توسعه کلیک کنید:

    «ویرایشگر پراکسی API» به شما امکان می‌دهد ساختار پراکسی API خود را ببینید و جریان آن را پیکربندی کنید. ویرایشگر نمایشی تصویری از جریان پیام درخواست و پاسخ کارگزار شما و همچنین نمایشی ویرایش‌شدنی از XML زیربنایی که کارگزار را تعریف می‌کند ارائه می‌دهد.

  5. در قاب «پیمایشگر» سمت راست، روی PreFlow در زیر Proxy Endpoints > default کلیک کنید. (آموزش‌های دیگر مفهوم جریان‌ها را پوشش خواهند داد.)
  6. روی دکمه +مرحله بالا، مربوط به «جریان پیش‌درخواست»، کلیک کنید. این فهرستی دسته‌بندی‌شده از همه خط‌مشی‌هایی که می‌توانید ایجاد کنید نمایش می‌دهد.

    روی «مرحله» در «جریان پیش‌از درخواست» کلیک کنید

  7. Spike Arrest را در دسته «مدیریت ترافیک» انتخاب کنید. کادر گفتگوی «خط‌مشی جدید» ظاهر می‌شود:

    ایجاد خط‌مشی «مهار جهش»

  8. نام‌های پیش‌فرض را بگذارید و روی افزودن کلیک کنید. خط‌مشی جدید به جریان «جریان پیش‌از جاری‌سازی» درخواست پیوست می‌شود.
  9. در «پیمایشگر»، مطمئن شوید که PreFlow در بخش نقطه‌های پایان پراکسی > پیش‌فرض همچنان انتخاب شده باشد و موارد زیر را در «ویرایشگر پراکسی API» یادداشت کنید:
    • خط‌مشی جدید Spike Arrest-1 در بخش خط‌مشی‌ها در «پیمایشگر» در سمت راست «ویرایشگر پراکسی API» اضافه می‌شود.
    • نماد Spike Arrest-1 به نمای «طراح» در مرکز بالای «ویرایشگر پراکسی API» اضافه می‌شود که نمایشی دیداری از جریان‌های پیام پراکسی شما است.
    • ‫XML خط‌مشی در نمای کد در مرکز پایین «ویرایشگر پراکسی API» نمایش داده می‌شود.

    مشاهده PreFlow با خط‌مشی «جلوگیری از جهش»

  10. در «پیمایشگر»، Spike Arrest-1 را در بخش «خط‌مشی‌ها» انتخاب کنید و موارد زیر را در «ویرایشگر پراکسی API» یادداشت کنید:
    • جزئیات خط‌مشی در نمای «طراح» در مرکز بالای «ویرایشگر پراکسی API» نمایش داده می‌شود.
    • ‫XML خط‌مشی در نمای کد در پایین مرکز «ویرایشگر پراکسی API» نمایش داده می‌شود.
    • مقادیر عنصر و مشخصه XML برای خط‌مشی در بازرس دارایی در سمت چپ «ویرایشگر پراکسی API» نمایش داده می‌شود.

  11. در XML خط‌مشی، مقدار عنصر <Rate> را به ۱ بعدازظهر تغییر دهید (که تقریباً به این معنی است که هر ۶۰ ثانیه ۲ درخواست در فضای ابری مجاز است).

    می‌توانید نرخ را به‌عنوان مقدار صحیح در دقیقه (pm) یا در ثانیه (ps) مشخص کنید. این حد بسیار پایین است و فقط برای این آموزش گام‌به‌گام برای نشان دادن خط‌مشی استفاده می‌شود. معمولاً آن را روی حد بسیار بالاتری تنظیم می‌کنید.

    توجه داشته باشید که مقدار Rate در «بازرس دارایی» نیز به «۱ بعدازظهر» تغییر می‌کند. یا می‌توانید مقدار نرخ را در «بازرس دارایی» تغییر دهید و این تغییر در نمای 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 را که قبلاً دیده‌اید ببینید. (همچنین می‌توانید فقط نشانی وب را در مرورگر وب وارد کنید.)

  14. فرمان curl را (یا پنجره مرورگر را) دو یا سه بار دیگر در عرض یک دقیقه اجرا کنید و متوجه شوید که پیام زیر را دریافت می‌کنید زیرا از حد مجاز خط‌مشی فراتر رفته‌اید:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    اگر سعی کنید در عرض یک دقیقه تماس‌های بیشتری برقرار کنید، همچنان پیام خطا را دریافت خواهید کرد.

  15. خط‌مشی‌تان را ویرایش کنید تا <Rate> را روی ۱۵ در دقیقه تنظیم کنید (که تقریباً به این معنی است که هر ۴ ثانیه ۲ تماس در ابر مجاز است)، و سپس پراکسی API را ذخیره کنید.
  16. فرمان curl را اجرا کنید یا مرورگر را مکرراً بازآوری کنید (curl سریع‌تر است). توجه داشته باشید که اگر در فواصل ۴ ثانیه‌ای یک یا دو تماس برقرار کنید، تماس‌هایتان موفق خواهد بود. اگر تماس‌ها را سریع برقرار کنید، بیش‌از دو تماس در ۴ ثانیه، باید خطا دریافت کنید. اما پس‌از هر بازه ۴ ثانیه‌ای می‌توانید به برقراری تماس ادامه دهید، برخلاف اینکه برای یک دقیقه کامل مسدود شوید (با تنظیم ساعت ۱ بعدازظهر).