বার্তা প্রসেসরগুলিতে টাইমআউটকে জীবিত রাখা কনফিগার করা হচ্ছে

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

এই ডকুমেন্টটিতে Apigee Edge Message Processors-এর জন্য keep alive timeout কীভাবে কনফিগার করতে হয়, তা ব্যাখ্যা করা হয়েছে।

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

মেসেজ প্রসেসরের 'keep alive timeout' প্রপার্টির ডিফল্ট মান হলো 60 সেকেন্ড। এই টাইমআউট সময়কালটি টার্গেট এন্ডপয়েন্ট কনফিগারেশনে এবং আপনার এপিআই প্রক্সির ' ServiceCallout ' পলিসিতে কনফিগার করা ব্যাকএন্ড সার্ভারগুলোর জন্য প্রযোজ্য।

আপনার প্রয়োজন অনুযায়ী মেসেজ প্রসেসরগুলির কিপ অ্যালাইভ টাইমআউট ডিফল্ট মান 60 সেকেন্ড থেকে বাড়ানো বা কমানো যেতে পারে। এটি নিম্নলিখিত উপায়ে কনফিগার করা যায়:

  • এপিআই প্রক্সিতে
    • লক্ষ্য প্রান্তবিন্দুতে
    • ServiceCallout নীতিতে
  • মেসেজ প্রসেসরে

নিম্নলিখিত প্রোপার্টিগুলো মেসেজ প্রসেসরগুলোর কিপ অ্যালাইভ টাইমআউট নিয়ন্ত্রণ করে:

সম্পত্তির নাম অবস্থান বর্ণনা
keepalive.timeout.millis এপিআই প্রক্সি:
  • লক্ষ্য শেষবিন্দু
  • ServiceCallout নীতি

এটি হলো সর্বোচ্চ নিষ্ক্রিয় সময়, যার জন্য মেসেজ প্রসেসর প্রতিটি অনুরোধ/প্রতিক্রিয়া জোড়ার জন্য একটি নতুন সংযোগ না খুলে, একটিমাত্র TCP সংযোগকে একাধিক HTTP অনুরোধ/প্রতিক্রিয়া পাঠাতে ও গ্রহণ করতে অনুমতি দেয়।

ডিফল্টরূপে, এই প্রপার্টিটি মেসেজ প্রসেসরের HTTPClient.keepalive.timeout.millis প্রপার্টির জন্য সেট করা মানটি গ্রহণ করে, যার ডিফল্ট মান হলো 60 সেকেন্ড।

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

HTTPClient.keepalive.timeout.millis বার্তা প্রসেসর

এটি হলো সর্বোচ্চ নিষ্ক্রিয় সময়, যার জন্য মেসেজ প্রসেসর প্রতিটি অনুরোধ/প্রতিক্রিয়া জোড়ার জন্য একটি নতুন সংযোগ না খুলে, একটিমাত্র TCP সংযোগকে একাধিক HTTP অনুরোধ/প্রতিক্রিয়া পাঠাতে ও গ্রহণ করতে অনুমতি দেয়।

এই মেসেজ প্রসেসরে চলমান সমস্ত এপিআই প্রক্সির জন্য এই প্রপার্টিটি ব্যবহৃত হয়।

এই প্রপার্টির ডিফল্ট মান হলো 60 সেকেন্ড।

আপনি নিচে "মেসেজ প্রসেসরে কিপ অ্যালাইভ টাইমআউট কনফিগার করা" অংশে ব্যাখ্যা করা পদ্ধতি অনুযায়ী এই প্রপার্টিটি পরিবর্তন করতে পারেন, অথবা এপিআই প্রক্সি লেভেলে keepalive.timeout.millis প্রপার্টি সেট করে এই মানটি ওভাররাইট করতে পারেন।

শুরু করার আগে

এই নথিতে বর্ণিত ধাপগুলো ব্যবহার করার আগে, নিম্নলিখিত বিষয়গুলো আপনি ভালোভাবে বুঝেছেন কিনা তা নিশ্চিত করুন:

এপিআই প্রক্সিতে কিপ অ্যালাইভ টাইমআউট কনফিগার করা

এপিআই প্রক্সিতে নিম্নলিখিত স্থানগুলিতে কিপ অ্যালাইভ টাইমআউট কনফিগার করা যেতে পারে:

  • লক্ষ্য শেষবিন্দু
  • ServiceCallout নীতি

এপিআই প্রক্সির টার্গেট এন্ডপয়েন্টে কিপ অ্যালাইভ টাইমআউট কনফিগার করা

এই বিভাগে আপনার এপিআই প্রক্সির টার্গেট এন্ডপয়েন্টে কিপ অ্যালাইভ টাইমআউট কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। কিপ অ্যালাইভ টাইমআউটটি keepalive.timeout.millis প্রপার্টির মাধ্যমে কনফিগার করা যায়, যা মিলিসেকেন্ডে কিপ অ্যালাইভ টাইমআউটের মান নির্দেশ করে।

  1. Edge UI-তে, সেই নির্দিষ্ট API প্রক্সিটি নির্বাচন করুন যেখানে আপনি নতুন keep alive timeout মানটি কনফিগার করতে চান।
  2. যে নির্দিষ্ট টার্গেট এন্ডপয়েন্টটি আপনি পরিবর্তন করতে চান, সেটি নির্বাচন করুন।
  3. TargetEndpoint কনফিগারেশনে <HTTPTargetConnection> এলিমেন্টের অধীনে keepalive.timeout.millis প্রপার্টিটি একটি উপযুক্ত মান দিয়ে যোগ করুন।

    উদাহরণস্বরূপ, 'keep alive Timeout' 30 সেকেন্ডে পরিবর্তন করতে, নিম্নলিখিত কোড ব্লকটি যোগ করুন:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    যেহেতু keepalive.timeout.millis প্রপার্টিটি মিলিসেকেন্ডে পরিমাপ করা হয়, তাই 30 সেকেন্ডের জন্য এর মান হলো 30000

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

    ব্যাকএন্ড সার্ভারের জন্য URL ব্যবহার করে টার্গেট এন্ডপয়েন্ট কনফিগারেশনের উদাহরণ

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>

    টার্গেট সার্ভার ব্যবহার করে টার্গেট এন্ডপয়েন্ট কনফিগারেশনের উদাহরণ

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. আপনার এপিআই প্রক্সিতে করা পরিবর্তনগুলো সংরক্ষণ করুন।

এপিআই প্রক্সির সার্ভিসকলআউট পলিসিতে কিপ অ্যালাইভ টাইমআউট কনফিগার করা

এই বিভাগে আপনার এপিআই প্রক্সির ServiceCallout পলিসিতে কিপ অ্যালাইভ টাইমআউট কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। কিপ অ্যালাইভ টাইমআউটটি the keepalive.timeout.millis প্রপার্টির মাধ্যমে কনফিগার করা যায়, যা মিলিসেকেন্ডে কিপ অ্যালাইভ টাইমআউটের মান নির্দেশ করে।

keepalive.timeout.millis প্রপার্টি ব্যবহার করে ServiceCallout পলিসিতে কিপ অ্যালাইভ টাইমআউট কনফিগার করতে:

  1. Edge UI-তে, সেই নির্দিষ্ট API প্রক্সিটি নির্বাচন করুন যেখানে আপনি ServiceCallout পলিসির জন্য নতুন keep alive timeout মানটি কনফিগার করতে চান।
  2. যে নির্দিষ্ট ServiceCallout পলিসিটি আপনি পরিবর্তন করতে চান, সেটি নির্বাচন করুন।
  3. TargetEndpoint কনফিগারেশনে <HTTPTargetConnection> এলিমেন্টের অধীনে keepalive.timeout.millis প্রপার্টিটি একটি উপযুক্ত মান দিয়ে যোগ করুন।

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

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    যেহেতু keepalive.timeout.millis প্রপার্টিটি মিলিসেকেন্ডে পরিমাপ করা হয়, তাই 30 সেকেন্ডের জন্য এর মান হলো 30000

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

    ব্যাকএন্ড সার্ভারের জন্য URL ব্যবহার করে ServiceCallout পলিসি কনফিগারেশনের উদাহরণ

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>

    টার্গেট সার্ভার ব্যবহার করে সার্ভিসকলআউট পলিসি কনফিগারেশনের উদাহরণ

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. আপনার এপিআই প্রক্সিতে করা পরিবর্তনগুলো সংরক্ষণ করুন।

মেসেজ প্রসেসরগুলিতে কিপ অ্যালাইভ টাইমআউট কনফিগার করা

এই বিভাগে মেসেজ প্রসেসরগুলিতে কিপ অ্যালাইভ টাইমআউট কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। কিপ অ্যালাইভ টাইমআউটটি HTTPClient.keepalive.timeout.millis প্রপার্টির মাধ্যমে কনফিগার করা যায়, যা মেসেজ প্রসেসর কম্পোনেন্টে মিলিসেকেন্ডে কিপ অ্যালাইভ টাইমআউটের মান নির্দেশ করে। যেহেতু এই প্রপার্টিটি মেসেজ প্রসেসরে কমেন্ট করা থাকে, তাই আপনাকে conf/http.properties+HTTPClient.keepalive.timeout.millis এই বিশেষ সিনট্যাক্সটি ব্যবহার করতে হবে, যেমনটি "How to configure Edge" -এর "Set a token that is currently commented out" বিভাগে বর্ণনা করা হয়েছে।

মেসেজ প্রসেসরগুলিতে কিপ অ্যালাইভ টাইমআউট কনফিগার করতে, নিম্নলিখিতগুলি করুন:

  1. মেসেজ প্রসেসর মেশিনে, নিম্নলিখিত ফাইলটি একটি এডিটরে খুলুন। যদি এটি আগে থেকে বিদ্যমান না থাকে, তবে এটি তৈরি করুন।
    /opt/apigee/customer/application/message-processor.properties

    উদাহরণস্বরূপ, vi ব্যবহার করে ফাইলটি খুলতে, নিম্নলিখিতটি লিখুন:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. প্রোপার্টিজ ফাইলে নিম্নলিখিত ফরম্যাটে একটি লাইন যোগ করুন, যেখানে TIME_IN_MILLISECONDS এর জায়গায় একটি মান বসাতে হবে:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

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

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. আপনার পরিবর্তনগুলো সংরক্ষণ করুন।
  4. নিশ্চিত করুন যে প্রোপার্টিজ ফাইলটির মালিক নিচে দেখানো অনুযায়ী apigee ব্যবহারকারী।
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. নিচে দেখানো পদ্ধতি অনুযায়ী মেসেজ প্রসেসরটি পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. আপনার যদি একাধিক মেসেজ প্রসেসর থাকে, তাহলে সবগুলো মেসেজ প্রসেসরের ক্ষেত্রে উপরের ধাপগুলো পুনরাবৃত্তি করুন।

মেসেজ প্রসেসরগুলিতে কিপ অ্যালাইভ টাইমআউট যাচাই করা হচ্ছে

এই অংশে ব্যাখ্যা করা হয়েছে কিভাবে যাচাই করতে হয় যে মেসেজ প্রসেসরগুলিতে কিপ অ্যালাইভ টাইমআউট সফলভাবে পরিবর্তন করা হয়েছে।

যদিও আপনি মেসেজ প্রসেসরে কিপ অ্যালাইভ টাইমআউট সেট করার জন্য conf/http.properties+HTTPClient.keepalive.timeout.millis এই বিশেষ সিনট্যাক্সটি ব্যবহার করেন, তবুও আপনাকে যাচাই করতে হবে যে প্রকৃত HTTPClient.keepalive.timeout.millis প্রপার্টিটি নতুন মান দিয়ে সেট করা হয়েছে কিনা।

  1. মেসেজ প্রসেসর মেশিনে, /opt/apigee/edge-message-processor/conf ডিরেক্টরিতে HTTPClient.keepalive.timeout.millis প্রপার্টিটি খুঁজুন এবং নিচে দেখানো নতুন মান দিয়ে এটি সেট করা হয়েছে কিনা তা পরীক্ষা করুন:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. যদি মেসেজ প্রসেসরে নতুন কিপ অ্যালাইভ টাইমআউট মানটি সফলভাবে সেট করা হয়, তাহলে উপরের কমান্ডটি http.properties ফাইলে নতুন মানটি প্রদর্শন করে।

    উপরের কমান্ডটি ব্যবহার করে 'কিপ অ্যালাইভ টাইমআউট' 30 সেকেন্ডে কনফিগার করার পর নমুনা ফলাফলটি নিম্নরূপ:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000

    উপরের উদাহরণ আউটপুটে লক্ষ্য করুন যে, http.properties ফাইলে HTTPClient.keepalive.timeout.millis প্রপার্টিটির মান নতুন ভ্যালু 30000 দিয়ে সেট করা হয়েছে। এটি নির্দেশ করে যে, মেসেজ প্রসেসরে কিপ অ্যালাইভ টাইমআউট সফলভাবে 30 সেকেন্ডে কনফিগার করা হয়েছে।

  3. আপনি যদি এখনও HTTPClient.keepalive.timeout.millis প্রপার্টির জন্য পুরোনো মান দেখতে পান, তাহলে যাচাই করুন যে আপনি "মেসেজ প্রসেসরে কিপ অ্যালাইভ টাইমআউট কনফিগার করা" অংশে বর্ণিত সমস্ত ধাপ সঠিকভাবে অনুসরণ করেছেন কিনা। যদি কোনো ধাপ বাদ পড়ে থাকে, তাহলে সমস্ত ধাপ আবার সঠিকভাবে পুনরাবৃত্তি করুন।
  4. আপনি যদি এখনও কিপ অ্যালাইভ টাইমআউট পরিবর্তন করতে না পারেন, তাহলে গুগল ক্লাউড এপিজি এজ সাপোর্টের সাথে যোগাযোগ করুন।