خط مشی Spike Arrest را به API خود اضافه کنید

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

چیزی که یاد خواهید گرفت

از طریق این آموزش، شما یاد خواهید گرفت که:

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

آنچه شما نیاز دارید

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

خط مشی Spike Arrest را اضافه کنید

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

سیاست Spike Arrest را به یک پراکسی API اضافه کنید:

  1. به apigee.com/edge وارد شوید.
  2. Develop > API Proxies را در نوار ناوبری سمت چپ انتخاب کنید.
  3. پروکسی API را که می خواهید خط مشی Spike Arrest را به آن اضافه کنید، انتخاب کنید.

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

  4. در ویرایشگر پروکسی API جدید، روی تب Develop کلیک کنید:

    API Proxy Editor به شما امکان می دهد ساختار پروکسی API خود را ببینید و جریان آن را پیکربندی کنید. ویرایشگر یک نمایش بصری از درخواست پروکسی شما و جریان پیام پاسخ و همچنین یک نمایشگر قابل ویرایش از XML زیرین که پروکسی را تعریف می کند، ارائه می دهد.

  5. در قسمت سمت چپ ناوبر، روی PreFlow در قسمت Proxy Endpoints > پیش‌فرض کلیک کنید. (سایر آموزش ها مفهوم جریان ها را پوشش خواهند داد.)
  6. روی دکمه +Step بالا، مربوط به Request PreFlow کلیک کنید. این یک لیست طبقه بندی شده از تمام سیاست هایی را که می توانید ایجاد کنید نمایش می دهد.

    روی Step in Request PreFlow کلیک کنید

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

    خط مشی دستگیری Spike را ایجاد کنید

  8. نام‌های پیش‌فرض را بگذارید و روی افزودن کلیک کنید. خط مشی جدید به جریان PreFlow یک درخواست پیوست شده است.
  9. در Navigator، مطمئن شوید که PreFlow در قسمت Proxy Endpoints > default هنوز انتخاب شده است و در ویرایشگر پروکسی API به موارد زیر توجه کنید:
    • خط‌مشی جدید Spike Arrest-1 در قسمت Policies in Navigator در سمت چپ ویرایشگر پروکسی API اضافه شده است.
    • نماد Spike Arrest-1 به نمای Designer در مرکز بالای API Proxy Editor اضافه شده است، که نمایشی بصری از جریان پیام پروکسی شما است.
    • XML برای خط مشی در نمای کد در مرکز پایین ویرایشگر پروکسی API نمایش داده می شود.

    PreFlow را با خط مشی Spike Arrest مشاهده کنید

  10. در Navigator، Spike Arrest-1 را در قسمت Policies انتخاب کنید و در ویرایشگر پروکسی API به موارد زیر توجه کنید:
    • جزئیات خط مشی در نمای طراح در مرکز بالای ویرایشگر پروکسی API نمایش داده می شود.
    • XML برای خط مشی در نمای کد در مرکز پایین ویرایشگر پروکسی API نمایش داده می شود.
    • عنصر XML و مقادیر ویژگی برای این خط مشی در Property Inspector در سمت راست ویرایشگر پروکسی API نمایش داده می شود.

  11. در XML برای این خط مشی، مقدار عنصر <Rate> را به 1pm تغییر دهید (که تقریباً به 2 درخواست مجاز در هر 60 ثانیه در ابر ترجمه می شود).

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

    توجه داشته باشید که مقدار Rate در Property Inspector نیز به "1pm" تغییر می کند. یا می توانید مقدار Rate را در Property Inspector تغییر دهید و در نمای XML منعکس می شود.

  12. روی ذخیره کلیک کنید تا نسخه فعلی با تغییرات ذخیره شود.
  13. API را با استفاده از 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 بعد از ظهر تنظیم کنید (که تقریباً به 2 تماس مجاز در هر 4 ثانیه در فضای ابری ترجمه می شود) و سپس پراکسی API را ذخیره کنید.
  16. دستور curl را اجرا کنید یا مرورگر را به طور مکرر رفرش کنید ( curl سریعتر است). توجه داشته باشید که اگر یک یا دو تماس را در بازه های زمانی 4 ثانیه انجام دهید، تماس های شما موفق می شود. اگر به سرعت، بیش از دو تماس در عرض 4 ثانیه برقرار کنید، باید خطا را دریافت کنید. اما پس از هر فاصله 4 ثانیه‌ای، می‌توانید به برقراری تماس ادامه دهید، برخلاف اینکه برای یک دقیقه کامل مسدود شوید (با تنظیم ساعت 13).