মেসেজ প্রসেসরে 'চালু রাখুন' টাইম-আউট কনফিগার করা

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

Apigee Edge মেসেজ প্রসেসরের জন্য কীভাবে 'কিপ অ্যালাইভ' টাইমআউট কনফিগার করতে হয় তা এই ডকুমেন্টে ব্যাখ্যা করা হয়েছে।

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

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

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

  • API প্রক্সিতে
    • টার্গেট এন্ডপয়েন্টে
    • ServiceCallout নীতিতে
  • মেসেজ প্রসেসরে

নিম্নলিখিত প্রপার্টি মেসেজ প্রসেসরের উপর 'কিপ অ্যালাইভ' টাইম-আউট কন্ট্রোল করে:

প্রপার্টির নাম লোকেশন বিবরণ
keepalive.timeout.millis API প্রক্সি:
  • টার্গেট এন্ডপয়েন্ট
  • ServiceCallout নীতি

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

ডিফল্ট হিসেবে, এই প্রপার্টি মেসেজ প্রসেসরের HTTPClient.keepalive.timeout.millis প্রপার্টির জন্য সেট করা ভ্যালু নেয়, যেখানে ডিফল্ট ভ্যালু হল 60 সেকেন্ড।

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

HTTPClient.keepalive.timeout.millis মেসেজ প্রসেসর

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

এই মেসেজ প্রসেসরে রান করা সব API প্রক্সির জন্য এই প্রপার্টি ব্যবহার করা হয়।

এই প্রপার্টির ডিফল্ট ভ্যালু হল 60 সেকেন্ড।

আপনি নিচে দেওয়া মেসেজ প্রসেসরে কিপ-অ্যালাইভ টাইমআউট কনফিগার করা লিঙ্কে গিয়ে এই প্রপার্টি পরিবর্তন করতে পারেন অথবা API প্রক্সি লেভেলে keepalive.timeout.millis প্রপার্টি সেট করে এই ভ্যালু ওভাররাইট করতে পারেন।

শুরু করার আগে

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

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

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

  • টার্গেট এন্ডপয়েন্ট
  • ServiceCallout নীতি

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

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

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

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

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

    keepalive.timeout.millis প্রপার্টি মিলিসেকেন্ডে থাকার কারণে, 30 সেকেন্ডের ভ্যালু হল 30000।

    আপনার API প্রক্সির টার্গেট এন্ডপয়েন্ট কনফিগারেশনে কীভাবে 'কিপ অ্যালাইভ' টাইমআউট কনফিগার করতে হয় তা নিম্নলিখিত উদাহরণ থেকে জানতে পারবেন:

    ব্যাকএন্ড সার্ভারের জন্য 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. আপনার API প্রক্সিতে করা পরিবর্তনগুলি সেভ করুন।

API প্রক্সির ServiceCallout নীতিতে 'চালু রাখার টাইমআউট' কনফিগার করা

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

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

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

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

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

    keepalive.timeout.millis প্রপার্টি মিলিসেকেন্ডে থাকার কারণে, 30 সেকেন্ডের ভ্যালু হল 30000।

    নিম্নলিখিত উদাহরণ থেকে আপনার API প্রক্সির 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 নীতির কনফিগারেশনের উদাহরণ

    <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. আপনার API প্রক্সিতে করা পরিবর্তনগুলি সেভ করুন।

মেসেজ প্রসেসরে 'চালু রাখুন' টাইম-আউট কনফিগার করা

এই বিভাগে, মেসেজ প্রসেসরে কীভাবে 'কিপ অ্যালাইভ' টাইমআউট কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। প্রপার্টির মাধ্যমে HTTPClient.keepalive.timeout.millis, কিপ অ্যালাইভ টাইম-আউট কনফিগার করা যেতে পারে, যা মেসেজ প্রসেসর কম্পোনেন্টে মিলি সেকেন্ডে কিপ অ্যালাইভ টাইম-আউট ভ্যালু দেখায়। এই প্রপার্টিটি যেহেতু Message Processor-এ কমেন্ট করা আছে তাই আপনাকে বিশেষ সিনট্যাক্স ব্যবহার করতে হবে conf/http.properties+HTTPClient.keepalive.timeout.millis যা এই বিভাগে বর্ণনা করা আছে বর্তমানে কমেন্ট করা টোকেন সেট করুন যা Edge কীভাবে কনফিগার করবেন নিবন্ধে উল্লেখ করা আছে।

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

  1. Message Processor মেশিনে, এডিটরে নিম্নলিখিত ফাইলটি খুলুন। এটি আগে থেকে না থাকলে, তৈরি করুন।
    /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. মেসেজ প্রসেসর মেশিনে, প্রপার্টিটি HTTPClient.keepalive.timeout.millis ডিরেক্টরিতে /opt/apigee/edge-message-processor/conf খুঁজে দেখুন এবং নিচে দেখানো নতুন ভ্যালু দিয়ে সেটি সেট করা হয়েছে কিনা চেক করুন:
    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

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

  3. আপনি যদি এখনও প্রপার্টির পুরনো ভ্যালু দেখতে পান HTTPClient.keepalive.timeout.millis, তাহলে আপনি মেসেজ প্রসেসরে কিপ-অ্যালাইভ টাইমআউট কনফিগার করা লিঙ্কে উল্লেখ করা সব ধাপ সঠিকভাবে অনুসরণ করেছেন কিনা তা যাচাই করুন। আপনি কোনও ধাপ মিস করে থাকলে, সঠিকভাবে আবার সব ধাপ রিপিট করুন।
  4. আপনি যদি এখনও 'কিপ অ্যালাইভ' টাইমআউট পরিবর্তন করতে না পারেন, তাহলে Google Cloud Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করুন।