ব্যাকএন্ড সার্ভার থেকে 504 গেটওয়ে টাইমআউট

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

উপসর্গ

ক্লায়েন্ট অ্যাপ্লিকেশনটি API কলগুলির প্রতিক্রিয়া হিসাবে "গেটওয়ে টাইমআউট" বার্তা সহ 504- এর একটি HTTP স্ট্যাটাস কোড পায়৷

এই ত্রুটির প্রতিক্রিয়া নির্দেশ করে যে ক্লায়েন্ট একটি API কল চালানোর সময় Apigee Edge বা ব্যাকএন্ড সার্ভার থেকে একটি সময়মত প্রতিক্রিয়া পায়নি।

ত্রুটি বার্তা

ক্লায়েন্ট অ্যাপ্লিকেশন নিম্নলিখিত প্রতিক্রিয়া কোড পায়:

HTTP/1.1 504 Gateway Timeout

এই কোডটি নীচের একটির মতো একটি ত্রুটি বার্তা দ্বারা অনুসরণ করা হতে পারে:

<html>
<head><title>504 Gateway Timeout</title></head>
<body bgcolor="white">
<center><h1>504 Gateway Timeout</h1></center>
</body>
</html>

গেটওয়ে টাইমআউটের কারণ কী?

Apigee Edge এর মাধ্যমে করা একটি API অনুরোধের জন্য সাধারণ পথ হল ক্লায়েন্ট -> রাউটার -> মেসেজ প্রসেসর -> ব্যাকএন্ড সার্ভার নীচের চিত্রে দেখানো হয়েছে:

API অনুরোধের পথ

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

সম্ভাব্য কারণ

Apigee Edge-এ, ব্যাকএন্ড সার্ভার থেকে 504 গেটওয়ে টাইমআউট প্রতিক্রিয়ার সাধারণ কারণ হল:

কারণ বর্ণনা এর জন্য সমস্যা সমাধানের নির্দেশাবলী
ব্যাকএন্ড সার্ভার 504 গেটওয়ে টাইমআউটের সাথে সাড়া দিচ্ছে ব্যাকএন্ড সার্ভার সময় শেষ হয়ে যায় এবং বার্তা প্রসেসরে একটি 504 গেটওয়ে টাইমআউট প্রতিক্রিয়া প্রদান করে। এজ প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারী

ব্যাকএন্ড সার্ভার 504 গেটওয়ে টাইমআউটের সাথে সাড়া দিচ্ছে

ব্যাকএন্ড সার্ভার 504 গেটওয়ে টাইমআউটের একটি HTTP প্রতিক্রিয়া কোড দিয়ে প্রতিক্রিয়া জানাতে পারে।

রোগ নির্ণয়

এই বিভাগটি ব্যাখ্যা করে কিভাবে সঠিকভাবে একটি 504 গেটওয়ে টাইমআউট নির্ণয় করা যায়। ব্যক্তিগত এবং পাবলিক ক্লাউড ব্যবহারকারী উভয়ের জন্য পদ্ধতি তালিকাভুক্ত করা হয়েছে।

পদ্ধতি #1: ট্রেস ব্যবহার করা (ব্যক্তিগত এবং পাবলিক ক্লাউড ব্যবহারকারী)

  1. প্রভাবিত API-এর জন্য Apigee UI-তে ট্রেস সক্ষম করুন।
  2. ব্যাকএন্ড সার্ভারে একটি অনুরোধ পাঠান।
  3. যদি ব্যর্থ API অনুরোধ ট্রেসে ব্যাকএন্ড সার্ভার থেকে একটি 504 প্রতিক্রিয়া দেখায়, তাহলে 504 গেটওয়ে টাইমআউটের কারণ হল ব্যাকএন্ড সার্ভার।
  4. প্রতিক্রিয়ার সময় নির্ধারণ করতে, ট্রেসে টার্গেট সার্ভার ফেজ থেকে প্রাপ্ত প্রতিক্রিয়াতে ক্লিক করুন। দেখানো উদাহরণে, অতিবাহিত সময় হল 60004 ms:

    UI থেকে ফেজ বিশদ

    পর্যায় বিবরণ বিভাগ অতিরিক্ত তথ্য প্রদান করে:

    • এটি ব্যাকএন্ড সার্ভার থেকে প্রাপ্ত 504 গেটওয়ে টাইমআউট প্রতিক্রিয়া হাইলাইট করে।
    • প্রতিক্রিয়া বিষয়বস্তু বিভাগ ব্যাকএন্ড সার্ভার থেকে প্রতিক্রিয়ার সম্পূর্ণ অংশ প্রদর্শন করে। পূর্বে উল্লেখ করা হয়েছে, ব্যাকএন্ড সার্ভার বাস্তবায়নের উপর ভিত্তি করে প্রতিক্রিয়া পেলোডের বিন্যাস এবং বিষয়বস্তু ভিন্ন হতে পারে।
    • প্রতিক্রিয়া শিরোনাম > সার্ভার বিভাগ নির্দেশ করতে পারে যে প্রতিক্রিয়াটি কোথায় এসেছে।
  5. অ্যানালিটিক্স ডেটা দেখতে এবং ডায়াগনোসিস নিশ্চিত করতে, ট্রেসে অ্যানালিটিক্স ডেটা রেকর্ডেড ফেজে ক্লিক করুন, নীচের চিত্রে দেখানো হয়েছে:

    ট্রেস থেকে বিশ্লেষণ বিবরণ

    ফেজ বিশদ বিবরণের প্রতিক্রিয়া শিরোনাম বিভাগটি X-Apigee-fault-code এবং X-Apigee-fault-source এর মানগুলি প্রদর্শন করে, যেমনটি নীচের চিত্রে দেখানো হয়েছে:

    UI থেকে বিশ্লেষণ পর্বের বিশদ বিবরণ

    যদি এই ক্ষেত্রগুলিতে নীচের সারণীতে দেখানো মানগুলি থাকে, তাহলে 504 ত্রুটি প্রতিক্রিয়া ব্যাকএন্ড সার্ভার থেকে উদ্ভূত হয়:

    প্রতিক্রিয়া শিরোনাম মান
    এক্স-অ্যাপিজি-ফল্ট-উৎস লক্ষ্য
    এক্স-অ্যাপিজি-ফল্ট-কোড messaging.adaptors.http.flow.ErrorResponseCode
  6. প্রক্সি চেইনিংয়ের জন্য পরীক্ষা করুন। ব্যাকএন্ড সার্ভার Apigee-তে অন্য প্রক্সি আহ্বান করছে কিনা তা নির্ধারণ করতে এই পদক্ষেপগুলি অনুসরণ করুন:
    1. লক্ষ্য সার্ভার পর্বে পাঠানো অনুরোধে ফিরে যান এবং ব্যাকএন্ড সার্ভার হোস্ট উপনাম দেখতে কার্ল প্রদর্শন করুন বোতামে ক্লিক করুন।
    2. যদি ব্যাকএন্ড সার্ভার হোস্ট ওরফে একটি ভার্চুয়াল হোস্ট উপনাম নির্দেশ করে, তাহলে প্রক্সি চেইনিং চালু আছে। 504 গেটওয়ে টাইমআউট ত্রুটি প্রতিক্রিয়ার কারণ নির্ণয় করতে প্রতিটি চেইনড প্রক্সির জন্য উপরের পদক্ষেপগুলি পুনরাবৃত্তি করুন। অনুরোধ/প্রতিক্রিয়া চক্রের অন্যান্য পর্যায়ে শৃঙ্খলিত প্রক্সিতে ঘটতে থাকা 504 গেটওয়ে টাইমআউট এই প্লেবুক ব্যবহার করে নির্ণয় করা যেতে পারে।
    3. যদি ব্যাকএন্ড সার্ভার হোস্ট ওরফে ব্যাকএন্ড সার্ভারের দিকে নির্দেশ করে, তাহলে রেজোলিউশনে এগিয়ে যান।

পদ্ধতি #2: সরাসরি ব্যাকএন্ড সার্ভার API (সর্বজনীন এবং ব্যক্তিগত ক্লাউড ব্যবহারকারীরা) আহ্বান করুন

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

  1. আপনার কাছে অনুরোধের অংশ হিসাবে ব্যাকএন্ড সার্ভারে পাস করার জন্য প্রয়োজনীয় সমস্ত শিরোনাম, ক্যোয়ারী প্যারামিটার এবং শংসাপত্র রয়েছে তা নিশ্চিত করুন।
  2. যদি ব্যাকএন্ড পরিষেবা সর্বজনীনভাবে অ্যাক্সেসযোগ্য হয়, তাহলে আপনি curl কমান্ড, পোস্টম্যান, বা অন্য কোনও REST ক্লায়েন্ট ব্যবহার করতে পারেন এবং সরাসরি ব্যাকএন্ড সার্ভার API-কে আহ্বান করতে পারেন।
  3. যদি ব্যাকএন্ড সার্ভারটি শুধুমাত্র মেসেজ প্রসেসর থেকে অ্যাক্সেসযোগ্য হয়, তাহলে বার্তা প্রসেসর থেকে সরাসরি ব্যাকএন্ড সার্ভার API চালু করতে curl কমান্ড, পোস্টম্যান বা অন্য কোন REST ক্লায়েন্ট ব্যবহার করুন।
  4. ব্যাকএন্ড সার্ভিস রিটার্ন করলে ক 504 গেটওয়ে টাইমআউট প্রতিক্রিয়া, রেজোলিউশনে এগিয়ে যান।

পদ্ধতি #3: NGINX অ্যাক্সেস লগ চেক করুন (শুধুমাত্র ব্যক্তিগত ক্লাউড ব্যবহারকারীরা)

NGINX অ্যাক্সেস লগগুলি ব্যাকএন্ড সার্ভার দ্বারা 504 ত্রুটি প্রতিক্রিয়া পাঠানো হয়েছে কিনা তা নির্ধারণ করতে সাহায্য করতে পারে৷ এটি বিশেষভাবে কার্যকর যদি সমস্যাটি অতীতে ঘটে থাকে, মাঝে মাঝে হয়, বা ট্রেসে ক্যাপচার করা না যায়। NGINX অ্যাক্সেস লগগুলি পরীক্ষা করতে এই পদক্ষেপগুলি ব্যবহার করুন:

  1. এই কমান্ডটি ব্যবহার করে NGINX অ্যাক্সেস লগগুলি দেখুন:
    /opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log 
  2. প্রভাবিত API প্রক্সির জন্য 504 ত্রুটি প্রতিক্রিয়া পরীক্ষা করুন৷ আপনি একটি নির্দিষ্ট সময়কাল পরীক্ষা করতে পারেন, যদি সমস্যাটি অতীতে ঘটে থাকে বা 504 ত্রুটির প্রতিক্রিয়া সহ অনুরোধগুলি এখনও ব্যর্থ হচ্ছে কিনা তা নির্ধারণ করতে পারেন।
  3. যদি কোনো 504 ত্রুটি প্রতিক্রিয়া থাকে, তবে ত্রুটি প্রতিক্রিয়া ব্যাকএন্ড সার্ভার থেকে উদ্ভূত কিনা তা নির্ধারণ করুন।
  4. নীচের চিত্রটি একটি NGINX লগ এন্ট্রির একটি উদাহরণ যা লক্ষ্য সার্ভার দ্বারা সৃষ্ট 504 ত্রুটির প্রতিক্রিয়া দেখাচ্ছে:

    নমুনা nginx লগ

    যদি X-Apigee-fault-source এবং X-Apigee-fault-code ফিল্ডে নীচের সারণীতে দেখানো মানগুলি থাকে, তাহলে 504 প্রতিক্রিয়া ব্যাকএন্ড সার্ভার থেকে উদ্ভূত হয়:

    প্রতিক্রিয়া শিরোনাম মান
    এক্স-অ্যাপিজি-ফল্ট-উৎস লক্ষ্য
    এক্স-অ্যাপিজি-ফল্ট-কোড messaging.adaptors.http.flow.ErrorResponseCode
  5. প্রক্সি চেইনিং পরীক্ষা করার জন্য প্রভাবিত API প্রক্সি পর্যালোচনা করুন যেমন, ব্যাকএন্ড সার্ভার/টার্গেট এন্ডপয়েন্ট Apigee-এ অন্য একটি প্রক্সি চালু করছে। যদি API প্রক্সি প্রক্সি চেইনিং ব্যবহার করে, 504 গেটওয়ে টাইমআউট ত্রুটি প্রতিক্রিয়ার কারণ নির্ণয় করতে প্রতিটি চেইনড প্রক্সির জন্য উপরের পদক্ষেপগুলি পুনরাবৃত্তি করুন। 504 গেটওয়ে টাইমআউট অন্যান্য পর্যায়ে শৃঙ্খলিত প্রক্সিগুলিতে ঘটে এই প্লেবুকটি ব্যবহার করে নির্ণয় করা যেতে পারে।
  6. যদি কোন প্রক্সি চেইনিং না থাকে, এবং 504 ত্রুটির প্রতিক্রিয়া ব্যাকএন্ড সার্ভার থেকে উদ্ভূত হয়, রেজোলিউশনে এগিয়ে যান।

পদ্ধতি #4: API মনিটরিং ব্যবহার করা (শুধুমাত্র পাবলিক ক্লাউড ব্যবহারকারী)

API মনিটরিং আপনাকে ত্রুটি, কর্মক্ষমতা, এবং লেটেন্সি সমস্যা এবং তাদের উৎস যেমন ডেভেলপার অ্যাপস, API প্রক্সি, ব্যাকএন্ড টার্গেট বা API প্ল্যাটফর্ম নির্ণয় করতে সমস্যা এলাকাগুলিকে দ্রুত বিচ্ছিন্ন করতে সক্ষম করে।

এপিআই মনিটরিং ব্যবহার করে আপনার এপিআইগুলির সাথে 5xx সমস্যাগুলি কীভাবে সমাধান করা যায় তা প্রদর্শন করে এমন একটি নমুনা দৃশ্যের মধ্য দিয়ে যান । উদাহরণস্বরূপ, যখন 504 স্ট্যাটাস কোডের সংখ্যা একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করে তখন প্রশাসকদের অবহিত করার জন্য একটি সতর্কতা সেট আপ করুন৷

রেজোলিউশন

উপরে বর্ণিত ডায়গনিস্টিক পদ্ধতিগুলি ব্যবহার করে, আপনি ব্যাকএন্ড সার্ভারে সমস্যাটি সমাধান করতে ব্যাকএন্ড সার্ভার দলের সাথে কাজ করতে পারেন। এর মধ্যে ব্যাকএন্ড সার্ভারে টাইমআউট সামঞ্জস্য করা বা লক্ষ্য সার্ভারের সামনে যেকোন লোড ব্যালেন্সারে টাইমআউট অন্তর্ভুক্ত থাকতে পারে।

ডায়াগনস্টিক তথ্য সংগ্রহ করুন

সমস্যাটি অব্যাহত থাকলে, Apigee সাপোর্টের সাথে নিম্নলিখিত ডায়াগনস্টিক তথ্য শেয়ার করুন।

আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:

  • প্রতিষ্ঠানের নাম
  • পরিবেশের নাম
  • API প্রক্সি নাম
  • 504 ত্রুটি প্রতিক্রিয়া পুনরুত্পাদন করতে ব্যবহৃত সম্পূর্ণ curl কমান্ড
  • একটি 504 গেটওয়ে টাইমআউট ত্রুটি প্রতিক্রিয়া প্রাপ্ত API অনুরোধ সহ ট্রেস ফাইল

আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন তবে নিম্নলিখিত তথ্য প্রদান করুন:

  • ব্যর্থ অনুরোধের জন্য পরিলক্ষিত সম্পূর্ণ ত্রুটি বার্তা
  • পরিবেশের নাম
  • API প্রক্সি বান্ডেল
  • একটি 504 গেটওয়ে টাইমআউট ত্রুটি প্রতিক্রিয়া প্রাপ্ত API অনুরোধ সহ ট্রেস ফাইল
  • NGINX অ্যাক্সেস লগ
    /opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log 
  • বার্তা প্রসেসর লগ
    /opt/apigee/var/log/edge-message-processor/logs/system.log