আপনার API-তে স্পাইক অ্যারেস্ট নীতি যোগ করুন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

আপনি কী শিখবেন

এই টিউটোরিয়ালের মাধ্যমে, আপনি এগুলি করতে শিখবেন:

  • অনুরোধ ও উত্তরকে প্রভাবিত করে এমন একটি নীতি যোগ করুন।
  • নীতির প্রভাব দেখুন।

আপনার কী কী প্রয়োজন

  • আপনার প্রক্সিতে অন্তত একটি নীতি (এছাড়াও, 'শুরু করা যাক' টিউটোরিয়ালের অংশ)।
  • কমান্ড লাইন থেকে API কল করার জন্য আপনার মেশিনে curl ইনস্টল করা থাকতে হবে।

স্পাইক অ্যারেস্ট নীতি যোগ করুন

এই টিউটোরিয়ালে, আপনি টার্গেট করা পরিষেবাকে হঠাৎ করে ট্রাফিক বেড়ে যাওয়া থেকে রক্ষা করতে SpikeArrest নীতি যোগ ও কনফিগার করবেন। এই ট্রাফিক বেড়ে যাওয়া, ব্যবহার বেড়ে যাওয়া, বাগি ক্লায়েন্ট বা ক্ষতিকর অ্যাটাকের কারণে হতে পারে। অনুরোধের সংখ্যা রেট সীমা ছাড়িয়ে গেলে, API একটি অনুরোধের জন্য HTTP 500 সমস্যা কোড রিটার্ন করে।

API প্রক্সিতে Spike Arrest নীতি যোগ করুন:

  1. apigee.com/edge লিঙ্কে গিয়ে সাইন-ইন করুন।
  2. বাঁদিকের নেভিগেশন বারে ডেভেলপ করুন > API প্রক্সি বিকল্প বেছে নিন।
  3. আপনি যে API প্রক্সিতে স্পাইক অ্যারেস্ট নীতি যোগ করতে চান সেটি বেছে নিন।

    আপনি 'শুরু করা যাক' টিউটোরিয়াল অনুসরণ করে থাকলে, API প্রক্সি তৈরি করুন বিকল্পে গিয়ে আপনার তৈরি করা "শুরু করা যাক" প্রক্সিতে এটি যোগ করতে পারবেন।

  4. নতুন API প্রক্সির এডিটরে, ডেভেলপ করুন ট্যাবে ক্লিক করুন:

    API প্রক্সি এডিটর আপনাকে API প্রক্সির স্ট্রাকচার দেখতে এবং এর ফ্লো কনফিগার করতে দেয়। প্রক্সি যে XML-এর মাধ্যমে সংজ্ঞায়িত করা হয়, এডিটর সেটির একটি এডিট করা যায় এমন ডিসপ্লে সহ আপনার প্রক্সির অনুরোধ ও উত্তর মেসেজ ফ্লোর একটি ভিজ্যুয়াল উপস্থাপনা প্রদান করে।

  5. বাঁদিকের নেভিগেটর প্যানেলে, প্রক্সি এন্ডপয়েন্ট > ডিফল্ট বিকল্পের মধ্যে PreFlow বিকল্পে ক্লিক করুন। (অন্যান্য টিউটোরিয়ালে ফ্লো-এর ধারণা সম্পর্কে আলোচনা করা হবে।)
  6. 'অনুরোধ প্রিফ্লো' বিকল্পের সাথে সম্পর্কিত সবচেয়ে উপরে থাকা +ধাপ বোতামে ক্লিক করুন। এটি আপনার তৈরি করতে পারা সব নীতির একটি শ্রেণীবদ্ধ তালিকা দেখায়।

    'অনুরোধ প্রিফ্লো' বিকল্পে ক্লিক করুন

  7. ট্রাফিক ম্যানেজমেন্ট বিভাগে স্পাইক অ্যারেস্ট বিকল্প বেছে নিন। নতুন নীতি ডায়ালগ দেখা যাবে:

    স্পাইক অ্যারেস্ট নীতি তৈরি করা

  8. ডিফল্ট নাম রেখে দিন এবং যোগ করুন বিকল্পে ক্লিক করুন। নতুন নীতিটি অনুরোধের PreFlow ফ্লোতে অ্যাটাচ করা হয়।
  9. নেভিগেটরে, নিশ্চিত করুন যে প্রক্সি এন্ডপয়েন্ট > ডিফল্ট-এর অধীনে PreFlow এখনও বেছে নেওয়া আছে এবং API প্রক্সি এডিটরে নিম্নলিখিত বিষয়গুলি নোট করুন:
    • API Proxy Editor-এর বাঁদিকে নেভিগেটরের মধ্যে নীতি বিকল্পের অধীনে নতুন Spike Arrest-1 নীতি যোগ করা হয়েছে।
    • API Proxy Editor-এর উপরের দিকে মাঝখানে ডিজাইনার ভিউতে Spike Arrest-1 আইকন যোগ করা হয়েছে। এটি আপনার প্রক্সি মেসেজ ফ্লোয়ের ভিজ্যুয়াল উপস্থাপনা।
    • নীতির XML, API প্রক্সি এডিটরের নিচের দিকের কেন্দ্রে কোড ভিউতে দেখানো হয়।

    Spike Arrest নীতি সহ PreFlow দেখুন

  10. নেভিগেটরে, 'নীতি' বিকল্পের মধ্যে Spike Arrest-1 বেছে নিন এবং API Proxy Editor-এ নিম্নলিখিত বিষয়গুলি নোট করুন:
    • API Proxy Editor-এর উপরের মাঝখানে ডিজাইনার ভিউতে নীতির বিবরণ দেখানো হয়।
    • API প্রক্সি এডিটরের নিচে মাঝখানে কোড ভিউতে নীতির XML দেখানো হয়।
    • নীতির XML এলিমেন্ট ও অ্যাট্রিবিউট ভ্যালু API প্রক্সি এডিটরের ডানদিকে প্রপার্টি ইন্সপেক্টর-এ দেখানো হয়।

  11. নীতির XML-এ, <Rate> এলিমেন্টের ভ্যালু পরিবর্তন করে দুপুর ১টা করুন (যা ক্লাউডে মোটামুটি প্রতি ৬০ সেকেন্ডে ২টি অনুরোধ অনুমোদিত হিসেবে অনুবাদ করে)।

    আপনি প্রতি মিনিট (pm) বা প্রতি সেকেন্ড (ps) হিসেবে পূর্ণসংখ্যা মান হিসেবে রেট নির্দিষ্ট করতে পারেন। এটি খুব কম সীমা এবং শুধুমাত্র এই টিউটোরিয়ালে নীতি দেখানোর জন্য ব্যবহার করা হয়। সাধারণত, আপনি এটি অনেক বেশি সীমায় সেট করেন।

    লক্ষ্য করুন যে প্রপার্টি ইন্সপেক্টরে Rate ভ্যালুও পরিবর্তিত হয়ে "১pm" হয়ে গেছে। অথবা, আপনি প্রপার্টি ইন্সপেক্টরে রেট ভ্যালু পরিবর্তন করতে পারেন এবং এটি XML ভিউতে দেখা যাবে।

  12. আপনার করা পরিবর্তন সহ বর্তমান রিভিশন সেভ করতে, সেভ করুন বিকল্পে ক্লিক করুন।
  13. curl ব্যবহার করে API কল করুন, org_name-এর পরিবর্তে আপনার Apigee সংস্থার নাম লিখুন:

    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>সীমা ১৫pm (যা ক্লাউডে মোটামুটি প্রতি ৪ সেকেন্ডে ২ বার কল করার অনুমতি দেয়) সেট করতে আপনার নীতি এডিট করুন এবং তারপরে API প্রক্সি সেভ করুন।
  16. curl কমান্ড এক্সিকিউট করুন অথবা বার বার ব্রাউজার রিফ্রেশ করুন (curl কমান্ডটি বেশি দ্রুত কাজ করে)। লক্ষ্য করুন, আপনি ৪ সেকেন্ডের ব্যবধানে একটি বা দুটি কল করলে, আপনার কল সফল হবে। আপনি দ্রুত কল করলে, ৪ সেকেন্ডের মধ্যে দুটির বেশি কল করলে, আপনাকে ফল্ট দেখানো হবে। কিন্তু প্রতি ৪ সেকেন্ডের ব্যবধানে আপনি কল করা চালিয়ে যেতে পারবেন, যেখানে আপনাকে পুরো এক মিনিট (১টা সেটিং সহ) ব্লক করা হয়।