মেসেজ প্রসেসরের সাথে কানেকশন আবার চেষ্টা করার জন্য রাউটার কনফিগার করা

Edge for Private Cloud v. 4.17.05

হেলথ চেক চলাকালীন মেসেজ প্রসেসর উপলভ্য না থাকলে রাউটার রেসপন্স কনফিগার করা

মেসেজ প্রসেসর পরিষেবার অনুরোধ পূরণ করতে পারছে কিনা তা নির্ধারণ করতে, রাউটার প্রতি পাঁচ সেকেন্ডে মেসেজ প্রসেসরের হেলথ চেক করে। কোনও মেসেজ প্রসেসর কাজ করা বন্ধ করে দিলে, রাউটার অটোমেটিক অন্য মেসেজ প্রসেসরে অনুরোধ ফরওয়ার্ড করে দেয়।

মেসেজ প্রসেসর বন্ধ হয়ে গেলে রাউটার কীভাবে প্রতিক্রিয়া জানাবে তা আপনি কনফিগার করতে পারবেন। এর জন্য রাউটারে conf_load_balancing_load.balancing.driver.nginx.server.retry প্রপার্টি সেট করতে হবে। সেই প্রপার্টিতে স্পেস-ডিলিমিটেড সেট অফ ভ্যালু থাকে যার মধ্যে এগুলি অন্তর্ভুক্ত থাকতে পারে:

  • বন্ধ: আবার চেষ্টা করার বিকল্প বন্ধ করুন, অনুরোধের পরে রাউটার একটি ব্যর্থতার কোড দেখায়।
  • http_599: (ডিফল্ট) রাউটার যদি মেসেজ প্রসেসর থেকে HTTP 599 উত্তর পায়, তাহলে রাউটার পরবর্তী মেসেজ প্রসেসরে অনুরোধটি ফরওয়ার্ড করে।

    HTTP 599 হল একটি বিশেষ রেসপন্স কোড যা মেসেজ প্রসেসর বন্ধ হওয়ার সময় তৈরি হয়। মেসেজ প্রসেসর আগে থেকে থাকা সব অনুরোধ সম্পূর্ণ করার চেষ্টা করে, তবে যেকোনও নতুন অনুরোধের ক্ষেত্রে এটি HTTP 599-এর মাধ্যমে উত্তর দেয় যাতে রাউটারকে পরবর্তী মেসেজ প্রসেসরে অনুরোধটি আবার চেষ্টা করার জন্য সিগন্যাল দেওয়া যায়।
  • error: মেসেজ প্রসেসরের সাথে কানেকশন তৈরি করার সময়, এতে কোনও অনুরোধ পাঠানোর সময় অথবা এর থেকে রেসপন্স হেডার পড়ার সময় কোনও সমস্যা হলে, রাউটার পরবর্তী মেসেজ প্রসেসরে অনুরোধটি ফরওয়ার্ড করে দেয়।
  • টাইম-আউট: মেসেজ প্রসেসরের সাথে কানেকশন স্থাপন করার সময়, এতে কোনও অনুরোধ পাস করার সময় অথবা এর থেকে রেসপন্স হেডার পড়ার সময় টাইম-আউট হলে, রাউটার পরবর্তী মেসেজ প্রসেসরে অনুরোধটি ফরওয়ার্ড করে।
  • invalid_header: মেসেজ প্রসেসর খালি বা ভুল উত্তর দিলে, রাউটার অনুরোধটি পরবর্তী মেসেজ প্রসেসরে ফরওয়ার্ড করে।
  • http_XXX: মেসেজ প্রসেসর HTTP কোড XXX সহ কোনও উত্তর পাঠালে, রাউটার অনুরোধটি পরবর্তী মেসেজ প্রসেসরে ফরওয়ার্ড করে।

রাউটার কনফিগার করতে:

  1. /opt/apigee/customer/application/router.properties ফাইল এডিট করুন (ফাইলটি না থাকলে, এটি তৈরি করুন)।
  2. নিচে দেখানো অনুযায়ী conf_load_balancing_load.balancing.driver.nginx.server.retry প্রপার্টি যোগ করুন:
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error
  3. প্রপার্টি ফাইলের মালিকানা 'apigee' ব্যবহারকারীর কিনা তা নিশ্চিত করুন:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. রাউটার রিস্টার্ট করুন:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

API প্রক্সি অনুরোধের অংশ হিসেবে মেসেজ প্রসেসর অ্যাক্সেস করার সময় রাউটার টাইমআউট কনফিগার করা অনুরোধ

এজ রাউটারে ৫৭ সেকেন্ডের একটি প্রিসেট টাইমআউট থাকে যখন API প্রক্সির মাধ্যমে অনুরোধ হ্যান্ডেল করার অংশ হিসেবে মেসেজ প্রসেসর অ্যাক্সেস করার চেষ্টা করা হয়। সেই টাইমআউটের মেয়াদ শেষ হয়ে গেলে, রাউটার অন্য কোনও মেসেজ প্রসেসরের সাথে কানেক্ট করার চেষ্টা করবে, যদি কোনওটি উপলভ্য থাকে। অন্যথায়, এটি সমস্যা দেখাবে।

এই টাইম-আউট কন্ট্রোল করতে আপনি দুটি প্রপার্টি ব্যবহার করতে পারবেন:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout একটি মেসেজ প্রসেসরের জন্য সেকেন্ডে অপেক্ষার সময় নির্দিষ্ট করে। ডিফল্ট ভ্যালু হল ৫৭ সেকেন্ড।
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout আপনার Edge ইনস্টলেশনে একাধিক মেসেজ প্রসেসর থাকলে, সব মেসেজ প্রসেসরের জন্য মোট অপেক্ষার সময় সেকেন্ডে নির্দিষ্ট করে। এটির ডিফল্ট ভ্যালু হল conf_load_balancing_load.balancing.driver.proxy.read.timeout-এর বর্তমান ভ্যালু, অথবা ৫৭ সেকেন্ড।

রাউটার কনফিগার করতে:

  1. /opt/apigee/customer/application/router.properties ফাইল এডিট করুন (ফাইলটি না থাকলে, এটি তৈরি করুন)।
  2. নিচে দেখানো অনুযায়ী প্রপার্টি সেট করুন:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. প্রপার্টি ফাইলের মালিকানা 'apigee' ব্যবহারকারীর কিনা তা নিশ্চিত করুন:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. রাউটার রিস্টার্ট করুন:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart