মেসেজ প্রসেসরে কানেকশন টাইম-আউট কনফিগার করা

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

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

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

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

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

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

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

টার্গেট সার্ভারের সাথে কানেক্ট করার জন্য মেসেজ প্রসেসর সর্বাধিক যত সময় অপেক্ষা করে।

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

কোনও API প্রক্সি সম্পর্কিত টার্গেট সার্ভারের জন্য নতুন টাইমআউট ভ্যালু দিয়ে এই প্রপার্টি পরিবর্তন করা হলে, শুধুমাত্র সেই টার্গেট সার্ভারের কানেক্ট হওয়ার সময় প্রভাবিত হয়।

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

টার্গেট সার্ভারের সাথে কানেক্ট করার জন্য মেসেজ প্রসেসর সর্বাধিক যত সময় অপেক্ষা করে, এটি সেই সময়সীমা।

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

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

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

শুরু করার আগে

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

API প্রক্সিতে কানেকশন টাইম-আউট কনফিগার করা

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

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

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

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

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

    যেমন, কানেকশন টাইমআউট 5 সেকেন্ডে পরিবর্তন করতে, নিচে দেওয়া কোড ব্লক যোগ করুন:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

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

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

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

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

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

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. আপনার API প্রক্সিতে করা পরিবর্তনগুলি সেভ করুন।

API প্রক্সির ServiceCallout নীতিতে কানেকশন টাইমআউট কনফিগার করা

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

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

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

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

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

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

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

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

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. আপনার API প্রক্সিতে করা পরিবর্তনগুলি সেভ করুন।

মেসেজ প্রসেসরে কানেকশন টাইম-আউট কনফিগার করা

এই বিভাগে মেসেজ প্রসেসরের কানেকশন টাইম-আউট কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। conf_http_HTTPClient.connect.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_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS

    যেমন, মেসেজ প্রসেসরের কানেকশন টাইমআউট 5 সেকেন্ডে পরিবর্তন করতে, নিম্নলিখিত লাইনটি যোগ করুন:

    conf_http_HTTPClient.connect.timeout.millis=5000
  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. আপনার একাধিক মেসেজ প্রসেসর থাকলে, সব মেসেজ প্রসেসরের ক্ষেত্রে উপরের ধাপগুলি রিপিট করুন।

মেসেজ প্রসেসরের কানেকশন টাইম-আউট যাচাই করা

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

আপনি Message Processor-এ কানেকশন টাইমআউট conf_http_HTTPClient.connect.timeout.millis সেট করার জন্য টোকেন ব্যবহার করলেও HTTPClient.connect.timeout.millis আসল প্রপার্টি নতুন ভ্যালু দিয়ে সেট করা হয়েছে কিনা তা আপনাকে যাচাই করতে হবে।

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

    আপনি কানেকশন টাইম-আউটকে 5 সেকেন্ডে কনফিগার করার পরে, উপরের কমান্ড থেকে প্রাপ্ত নমুনা ফলাফল নিচে দেওয়া হল:

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

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

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