I/O টাইমআউট কনফিগার করার জন্য সর্বোত্তম অনুশীলন

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

ক্লায়েন্ট অ্যাপ্লিকেশনগুলো দ্বারা করা এপিআই অনুরোধগুলো ব্যাকএন্ড পরিষেবাগুলিতে পৌঁছানোর আগে Apigee Edge-এর বিভিন্ন উপাদানের মধ্য দিয়ে প্রবাহিত হয়। বেশিরভাগ ক্লায়েন্ট অ্যাপ্লিকেশনই এই অনুরোধগুলোর প্রতিক্রিয়া সময়মতো পাওয়ার আশা করে।

সময়মতো প্রতিক্রিয়া পাওয়ার জন্য, এপিআই অনুরোধগুলো যে উপাদানগুলোর মধ্য দিয়ে প্রবাহিত হয়, সেগুলোর প্রতিটিতে আই/ও টাইমআউট মান সেট করা থাকে। যদি প্রবাহের কোনো একটি উপাদান তার পূর্ববর্তী উপাদানের চেয়ে বেশি সময় নেয়, তাহলে পূর্ববর্তী উপাদানটি টাইমআউট হয়ে যায় এবং 504 গেটওয়ে টাইমআউট ত্রুটিসহ প্রতিক্রিয়া জানায়।

টাইমআউট কনফিগার করার সময় প্রতিটি কম্পোনেন্টে মানগুলো অত্যন্ত সতর্কতার সাথে নির্ধারণ করা উচিত, অন্যথায় এর ফলে 504 গেটওয়ে টাইমআউট ত্রুটি দেখা দিতে পারে।

এই ডকুমেন্টটিতে Apigee Edge-এর বিভিন্ন কম্পোনেন্টে I/O টাইমআউট কনফিগার করার সর্বোত্তম পদ্ধতি বর্ণনা করা হয়েছে, যেগুলোর মধ্য দিয়ে API রিকোয়েস্টগুলো প্রবাহিত হয়।

I/O টাইমআউট কনফিগার করার সর্বোত্তম পদ্ধতি

I/O টাইমআউট কনফিগার করার সময় নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি বিবেচনা করুন:

  • প্রথম কম্পোনেন্ট: API অনুরোধ প্রবাহের প্রথম কম্পোনেন্টে, অর্থাৎ Apigee Edge-এর ক্লায়েন্ট অ্যাপ্লিকেশনে, সর্বদা সর্বোচ্চ টাইমআউট ব্যবহার করুন।
  • শেষ কম্পোনেন্ট: API অনুরোধ প্রবাহের শেষ কম্পোনেন্টে, অর্থাৎ Apigee Edge-এর ব্যাকএন্ড সার্ভিসে, সর্বদা সর্বনিম্ন টাইমআউট ব্যবহার করুন।
  • কম্পোনেন্টগুলোর মধ্যে: নিশ্চিত করুন যে ফ্লো-এর প্রথম এবং শেষ কম্পোনেন্টের মধ্যে প্রতিটি কম্পোনেন্টে কনফিগার করা টাইমআউট মানের অন্তত ২-৩ সেকেন্ডের পার্থক্য রয়েছে।
  • রাউটার: রাউটারে I/O টাইমআউট ভ্যালু কনফিগার করার পরিবর্তে, একটি নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য তা কনফিগার (পরিবর্তন) করা সর্বদা একটি ভালো অভ্যাস। এটি নিশ্চিত করে যে নতুন টাইমআউট ভ্যালুটি শুধুমাত্র সেই API প্রক্সিগুলোকেই প্রভাবিত করবে যারা নির্দিষ্ট ভার্চুয়াল হোস্টটি ব্যবহার করছে, এবং রাউটার দ্বারা পরিবেশিত সমস্ত API প্রক্সিকে নয়।

    রাউটারে I/O টাইমআউট তখনই কনফিগার (পরিবর্তন) করুন, যখন আপনি সম্পূর্ণ নিশ্চিত হবেন যে নতুন I/O টাইমআউট মানটি রাউটারে চলমান সমস্ত API প্রক্সির জন্য প্রয়োজনীয় বা প্রযোজ্য।

  • মেসেজ প্রসেসর: মেসেজ প্রসেসরে I/O টাইমআউট ভ্যালু কনফিগার করার পরিবর্তে, একটি নির্দিষ্ট API প্রক্সির জন্য তা কনফিগার (পরিবর্তন) করা সর্বদা একটি ভালো অভ্যাস। এটি নিশ্চিত করে যে নতুন টাইমআউট ভ্যালুটি শুধুমাত্র সেই নির্দিষ্ট API প্রক্সিকেই প্রভাবিত করবে, মেসেজ প্রসেসর দ্বারা পরিবেশিত সমস্ত API প্রক্সিকে নয়।

    মেসেজ প্রসেসরে I/O টাইমআউট তখনই কনফিগার (পরিবর্তন) করুন, যখন আপনি সম্পূর্ণ নিশ্চিত হবেন যে নতুন I/O টাইমআউট মানটি মেসেজ প্রসেসরে চলমান সমস্ত API প্রক্সির জন্য প্রয়োজনীয় বা প্রযোজ্য।

উদাহরণস্বরূপ পরিস্থিতি

এই বিভাগের পরিস্থিতিগুলো আপনাকে I/O টাইমআউট মানগুলো সঠিকভাবে নির্ধারণ করার পদ্ধতি বুঝতে সাহায্য করবে।

দৃশ্যকল্প ১: ক্লায়েন্ট অ্যাপ্লিকেশন থেকে সরাসরি Apigee Edge-এ পাঠানো অনুরোধ

এই বিভাগে এমন একটি Apigee Edge সেটআপে টাইমআউট মান সেট করার সময় অনুসরণীয় সর্বোত্তম পদ্ধতি বর্ণনা করা হয়েছে, যেখানে ক্লায়েন্ট অ্যাপ্লিকেশন ও Apigee Edge-এর মধ্যে এবং Apigee Edge ও আপনার ব্যাকএন্ড সার্ভারের মধ্যে কোনো মধ্যবর্তী উপাদান নেই।

কোনো মধ্যবর্তী উপাদান ছাড়া Apigee সেটআপের নমুনা

Flow starting at Client going to Router and then to Message Processor and then to Backend Server

যদি উপরের ডায়াগ্রামে দেখানো অনুযায়ী কোনো মধ্যবর্তী উপাদান ছাড়া Apigee Edge সেট আপ করা হয়, তাহলে নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি অনুসরণ করুন:

  1. ক্লায়েন্ট অ্যাপ্লিকেশন হলো ফ্লো-এর প্রথম উপাদান। সর্বোচ্চ টাইমআউট মান ক্লায়েন্টে সেট করা উচিত।
  2. ব্যাকএন্ড সার্ভার হলো ফ্লো-এর শেষ উপাদান। ব্যাকএন্ড সার্ভারে সর্বনিম্ন টাইমআউট মান সেট করা উচিত।
  3. নিম্নলিখিত ক্রমে প্রতিটি কম্পোনেন্টে টাইমআউট মানগুলি কনফিগার করুন:

    Configure timeout on client, then Router, then Message Processor, then Backend Server

    নিম্নলিখিত উদাহরণটি উপরে প্রদত্ত নির্দেশিকা অনুসারে বিভিন্ন উপাদানে সেট করা টাইমআউট মানগুলি দেখায়, যাতে কোনও সমস্যা এড়ানো যায়:

    Configure timeout on client at 60 seconds, then Router at 57 seconds, then Message Processor at 55 seconds, then Backend Server at 52 seconds

দৃশ্যকল্প ২: মধ্যবর্তী উপাদানগুলির মাধ্যমে ক্লায়েন্ট অ্যাপ্লিকেশন থেকে Apigee Edge-এ পাঠানো অনুরোধ

এই বিভাগে এমন একটি Apigee Edge সেটআপে টাইমআউট মান সেট করার সময় অনুসরণীয় সর্বোত্তম পদ্ধতি বর্ণনা করা হয়েছে, যেখানে ক্লায়েন্ট অ্যাপ্লিকেশন ও Apigee Edge-এর মধ্যে এবং Apigee Edge ও আপনার ব্যাকএন্ড সার্ভারের মধ্যে এক বা একাধিক মধ্যবর্তী উপাদান থাকে।

মধ্যবর্তী উপাদানগুলো হতে পারে লোড ব্যালান্সার, কন্টেন্ট ডেলিভারি নেটওয়ার্ক ( CDN ), NGINX ইত্যাদি।

ক্লায়েন্ট ও Apigee Edge-এর মধ্যে এবং Apigee Edge ও ব্যাকএন্ড সার্ভারের মধ্যে একটি মধ্যবর্তী উপাদান সহ নমুনা Apigee সেটআপ।

Flow starting at Client going to Intermediate Component 1 and then to Router and then to Message Processor and then to Intermediate Component 2 and then to Backend Server

যদি উপরের ডায়াগ্রামে দেখানো অনুযায়ী এক বা একাধিক মধ্যবর্তী উপাদানসহ Apigee Edge সেট আপ করা থাকে, তাহলে নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি ব্যবহার করুন:

  1. ক্লায়েন্ট অ্যাপ্লিকেশন হলো ফ্লো-এর প্রথম উপাদান। সর্বোচ্চ টাইমআউট মান ক্লায়েন্টে সেট করা উচিত।
  2. ব্যাকএন্ড সার্ভার হলো ফ্লো-এর শেষ উপাদান। ব্যাকএন্ড সার্ভারে সর্বনিম্ন টাইমআউট মান সেট করা উচিত।
  3. মধ্যবর্তী উপাদানগুলো সহ প্রতিটি উপাদানে টাইমআউট মানগুলো নিম্নলিখিত ক্রমে নির্ধারণ করুন:

    Configure timeout on client, then Intermediate Component 1, then Router, then Message Processor, then Intermediate Component 2, then Backend Server

    নিম্নলিখিত উদাহরণটি উপরে প্রদত্ত নির্দেশিকা অনুসারে বিভিন্ন উপাদানে সেট করা টাইমআউট মানগুলি দেখায়, যাতে কোনও সমস্যা এড়ানো যায়:

    Configure timeout on client at 63 seconds, then Intermediate Component 1 at 60 seconds, then Router at 57 seconds, then Message Processor st 55 seconds, then Intermediate Component 2 at 52 seconds, then Backend Server at 59 seconds

,

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

ক্লায়েন্ট অ্যাপ্লিকেশনগুলো দ্বারা করা এপিআই অনুরোধগুলো ব্যাকএন্ড পরিষেবাগুলিতে পৌঁছানোর আগে Apigee Edge-এর বিভিন্ন উপাদানের মধ্য দিয়ে প্রবাহিত হয়। বেশিরভাগ ক্লায়েন্ট অ্যাপ্লিকেশনই এই অনুরোধগুলোর প্রতিক্রিয়া সময়মতো পাওয়ার আশা করে।

সময়মতো প্রতিক্রিয়া পাওয়ার জন্য, এপিআই অনুরোধগুলো যে উপাদানগুলোর মধ্য দিয়ে প্রবাহিত হয়, সেগুলোর প্রতিটিতে আই/ও টাইমআউট মান সেট করা থাকে। যদি প্রবাহের কোনো একটি উপাদান তার পূর্ববর্তী উপাদানের চেয়ে বেশি সময় নেয়, তাহলে পূর্ববর্তী উপাদানটি টাইমআউট হয়ে যায় এবং 504 গেটওয়ে টাইমআউট ত্রুটিসহ প্রতিক্রিয়া জানায়।

টাইমআউট কনফিগার করার সময় প্রতিটি কম্পোনেন্টে মানগুলো অত্যন্ত সতর্কতার সাথে নির্ধারণ করা উচিত, অন্যথায় এর ফলে 504 গেটওয়ে টাইমআউট ত্রুটি দেখা দিতে পারে।

এই ডকুমেন্টটিতে Apigee Edge-এর বিভিন্ন কম্পোনেন্টে I/O টাইমআউট কনফিগার করার সর্বোত্তম পদ্ধতি বর্ণনা করা হয়েছে, যেগুলোর মধ্য দিয়ে API রিকোয়েস্টগুলো প্রবাহিত হয়।

I/O টাইমআউট কনফিগার করার সর্বোত্তম পদ্ধতি

I/O টাইমআউট কনফিগার করার সময় নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি বিবেচনা করুন:

  • প্রথম কম্পোনেন্ট: API অনুরোধ প্রবাহের প্রথম কম্পোনেন্টে, অর্থাৎ Apigee Edge-এর ক্লায়েন্ট অ্যাপ্লিকেশনে, সর্বদা সর্বোচ্চ টাইমআউট ব্যবহার করুন।
  • শেষ কম্পোনেন্ট: API অনুরোধ প্রবাহের শেষ কম্পোনেন্টে, অর্থাৎ Apigee Edge-এর ব্যাকএন্ড সার্ভিসে, সর্বদা সর্বনিম্ন টাইমআউট ব্যবহার করুন।
  • কম্পোনেন্টগুলোর মধ্যে: নিশ্চিত করুন যে ফ্লো-এর প্রথম এবং শেষ কম্পোনেন্টের মধ্যে প্রতিটি কম্পোনেন্টে কনফিগার করা টাইমআউট মানের অন্তত ২-৩ সেকেন্ডের পার্থক্য রয়েছে।
  • রাউটার: রাউটারে I/O টাইমআউট ভ্যালু কনফিগার করার পরিবর্তে, একটি নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য তা কনফিগার (পরিবর্তন) করা সর্বদা একটি ভালো অভ্যাস। এটি নিশ্চিত করে যে নতুন টাইমআউট ভ্যালুটি শুধুমাত্র সেই API প্রক্সিগুলোকেই প্রভাবিত করবে যারা নির্দিষ্ট ভার্চুয়াল হোস্টটি ব্যবহার করছে, এবং রাউটার দ্বারা পরিবেশিত সমস্ত API প্রক্সিকে নয়।

    রাউটারে I/O টাইমআউট তখনই কনফিগার (পরিবর্তন) করুন, যখন আপনি সম্পূর্ণ নিশ্চিত হবেন যে নতুন I/O টাইমআউট মানটি রাউটারে চলমান সমস্ত API প্রক্সির জন্য প্রয়োজনীয় বা প্রযোজ্য।

  • মেসেজ প্রসেসর: মেসেজ প্রসেসরে I/O টাইমআউট ভ্যালু কনফিগার করার পরিবর্তে, একটি নির্দিষ্ট API প্রক্সির জন্য তা কনফিগার (পরিবর্তন) করা সর্বদা একটি ভালো অভ্যাস। এটি নিশ্চিত করে যে নতুন টাইমআউট ভ্যালুটি শুধুমাত্র সেই নির্দিষ্ট API প্রক্সিকেই প্রভাবিত করবে, মেসেজ প্রসেসর দ্বারা পরিবেশিত সমস্ত API প্রক্সিকে নয়।

    মেসেজ প্রসেসরে I/O টাইমআউট তখনই কনফিগার (পরিবর্তন) করুন, যখন আপনি সম্পূর্ণ নিশ্চিত হবেন যে নতুন I/O টাইমআউট মানটি মেসেজ প্রসেসরে চলমান সমস্ত API প্রক্সির জন্য প্রয়োজনীয় বা প্রযোজ্য।

উদাহরণস্বরূপ পরিস্থিতি

এই বিভাগের পরিস্থিতিগুলো আপনাকে I/O টাইমআউট মানগুলো সঠিকভাবে নির্ধারণ করার পদ্ধতি বুঝতে সাহায্য করবে।

দৃশ্যকল্প ১: ক্লায়েন্ট অ্যাপ্লিকেশন থেকে সরাসরি Apigee Edge-এ পাঠানো অনুরোধ

এই বিভাগে এমন একটি Apigee Edge সেটআপে টাইমআউট মান সেট করার সময় অনুসরণীয় সর্বোত্তম পদ্ধতি বর্ণনা করা হয়েছে, যেখানে ক্লায়েন্ট অ্যাপ্লিকেশন ও Apigee Edge-এর মধ্যে এবং Apigee Edge ও আপনার ব্যাকএন্ড সার্ভারের মধ্যে কোনো মধ্যবর্তী উপাদান নেই।

কোনো মধ্যবর্তী উপাদান ছাড়া Apigee সেটআপের নমুনা

Flow starting at Client going to Router and then to Message Processor and then to Backend Server

যদি উপরের ডায়াগ্রামে দেখানো অনুযায়ী কোনো মধ্যবর্তী উপাদান ছাড়া Apigee Edge সেট আপ করা হয়, তাহলে নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি অনুসরণ করুন:

  1. ক্লায়েন্ট অ্যাপ্লিকেশন হলো ফ্লো-এর প্রথম উপাদান। সর্বোচ্চ টাইমআউট মান ক্লায়েন্টে সেট করা উচিত।
  2. ব্যাকএন্ড সার্ভার হলো ফ্লো-এর শেষ উপাদান। ব্যাকএন্ড সার্ভারে সর্বনিম্ন টাইমআউট মান সেট করা উচিত।
  3. নিম্নলিখিত ক্রমে প্রতিটি কম্পোনেন্টে টাইমআউট মানগুলি কনফিগার করুন:

    Configure timeout on client, then Router, then Message Processor, then Backend Server

    নিম্নলিখিত উদাহরণটি উপরে প্রদত্ত নির্দেশিকা অনুসারে বিভিন্ন উপাদানে সেট করা টাইমআউট মানগুলি দেখায়, যাতে কোনও সমস্যা এড়ানো যায়:

    Configure timeout on client at 60 seconds, then Router at 57 seconds, then Message Processor at 55 seconds, then Backend Server at 52 seconds

দৃশ্যকল্প ২: মধ্যবর্তী উপাদানগুলির মাধ্যমে ক্লায়েন্ট অ্যাপ্লিকেশন থেকে Apigee Edge-এ পাঠানো অনুরোধ

এই বিভাগে এমন একটি Apigee Edge সেটআপে টাইমআউট মান সেট করার সময় অনুসরণীয় সর্বোত্তম পদ্ধতি বর্ণনা করা হয়েছে, যেখানে ক্লায়েন্ট অ্যাপ্লিকেশন ও Apigee Edge-এর মধ্যে এবং Apigee Edge ও আপনার ব্যাকএন্ড সার্ভারের মধ্যে এক বা একাধিক মধ্যবর্তী উপাদান থাকে।

মধ্যবর্তী উপাদানগুলো হতে পারে লোড ব্যালান্সার, কন্টেন্ট ডেলিভারি নেটওয়ার্ক ( CDN ), NGINX ইত্যাদি।

ক্লায়েন্ট ও Apigee Edge-এর মধ্যে এবং Apigee Edge ও ব্যাকএন্ড সার্ভারের মধ্যে একটি মধ্যবর্তী উপাদান সহ নমুনা Apigee সেটআপ।

Flow starting at Client going to Intermediate Component 1 and then to Router and then to Message Processor and then to Intermediate Component 2 and then to Backend Server

যদি উপরের ডায়াগ্রামে দেখানো অনুযায়ী এক বা একাধিক মধ্যবর্তী উপাদানসহ Apigee Edge সেট আপ করা থাকে, তাহলে নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি ব্যবহার করুন:

  1. ক্লায়েন্ট অ্যাপ্লিকেশন হলো ফ্লো-এর প্রথম উপাদান। সর্বোচ্চ টাইমআউট মান ক্লায়েন্টে সেট করা উচিত।
  2. ব্যাকএন্ড সার্ভার হলো ফ্লো-এর শেষ উপাদান। ব্যাকএন্ড সার্ভারে সর্বনিম্ন টাইমআউট মান সেট করা উচিত।
  3. মধ্যবর্তী উপাদানগুলো সহ প্রতিটি উপাদানে টাইমআউট মানগুলো নিম্নলিখিত ক্রমে নির্ধারণ করুন:

    Configure timeout on client, then Intermediate Component 1, then Router, then Message Processor, then Intermediate Component 2, then Backend Server

    নিম্নলিখিত উদাহরণটি উপরে প্রদত্ত নির্দেশিকা অনুসারে বিভিন্ন উপাদানে সেট করা টাইমআউট মানগুলি দেখায়, যাতে কোনও সমস্যা এড়ানো যায়:

    Configure timeout on client at 63 seconds, then Intermediate Component 1 at 60 seconds, then Router at 57 seconds, then Message Processor st 55 seconds, then Intermediate Component 2 at 52 seconds, then Backend Server at 59 seconds