আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
এই ডকুমেন্টটিতে Apigee Edge Message Processors-এর জন্য কানেকশন টাইমআউট কীভাবে কনফিগার করতে হয়, তা ব্যাখ্যা করা হয়েছে।
কানেকশন টাইমআউট হলো সেই সময়কাল, যা মেসেজ প্রসেসর টার্গেট সার্ভারের সাথে সংযোগ স্থাপনের জন্য অপেক্ষা করে। মেসেজ প্রসেসরের কানেকশন টাইমআউট প্রপার্টির ডিফল্ট মান হলো 3 সেকেন্ড। এই টাইমআউট সময়কালটি টার্গেট এন্ডপয়েন্ট কনফিগারেশনে এবং আপনার এপিআই প্রক্সির ServiceCallout পলিসিতে কনফিগার করা ব্যাকএন্ড সার্ভারগুলোর জন্য প্রযোজ্য।
আপনার প্রয়োজন অনুযায়ী মেসেজ প্রসেসরগুলির কানেকশন টাইমআউট ডিফল্ট 3 সেকেন্ড থেকে বাড়ানো বা কমানো যেতে পারে। এটি নিম্নলিখিত উপায়ে কনফিগার করা যায়:
- এপিআই প্রক্সিতে
- লক্ষ্য প্রান্তবিন্দুতে
-
ServiceCalloutনীতিতে
- মেসেজ প্রসেসরে
নিম্নলিখিত প্রোপার্টিগুলো মেসেজ প্রসেসরগুলিতে কানেকশন টাইমআউট নিয়ন্ত্রণ করে:
| সম্পত্তির নাম | অবস্থান | বর্ণনা |
|---|---|---|
connect.timeout.millis | এপিআই প্রক্সি:
| টার্গেট সার্ভারের সাথে সংযোগ স্থাপনের জন্য মেসেজ প্রসেসর এই সর্বোচ্চ সময় পর্যন্ত অপেক্ষা করে। ডিফল্টরূপে, এই প্রপার্টিটি মেসেজ প্রসেসরের যদি কোনো এপিআই প্রক্সির সাথে যুক্ত টার্গেট সার্ভারের জন্য এই প্রপার্টিটি একটি নতুন টাইমআউট ভ্যালু দিয়ে পরিবর্তন করা হয়, তাহলে শুধুমাত্র সেই টার্গেট সার্ভারের কানেক্ট টাইম প্রভাবিত হবে। |
HTTPClient.connect.timeout.millis | বার্তা প্রসেসর | টার্গেট সার্ভারের সাথে সংযোগ স্থাপনের জন্য মেসেজ প্রসেসর এই সর্বোচ্চ সময় পর্যন্ত অপেক্ষা করে। এই মেসেজ প্রসেসরে চলমান সমস্ত এপিআই প্রক্সির জন্য এই প্রপার্টিটি ব্যবহৃত হয়। এই প্রপার্টির ডিফল্ট মান হলো আপনি নিচে ‘মেসেজ প্রসেসরে কানেকশন টাইমআউট কনফিগার করা’ অংশে ব্যাখ্যা করা পদ্ধতি অনুযায়ী এই প্রপার্টিটি পরিবর্তন করতে পারেন, অথবা এপিআই প্রক্সি লেভেলে |
শুরু করার আগে
এই নথিতে বর্ণিত ধাপগুলো ব্যবহার করার আগে, নিম্নলিখিত বিষয়গুলো আপনি ভালোভাবে বুঝেছেন কিনা তা নিশ্চিত করুন:
- আপনি যদি কানেকশন টাইমআউট সম্পর্কে পরিচিত না হন, তাহলে TargetEndpoint Transport Property Specification- এ
connect.timeout.millisপ্রপার্টির বিবরণ দেখুন। - আপনি যদি প্রাইভেট ক্লাউডে Edge-এর প্রোপার্টি কনফিগার করার বিষয়ে পরিচিত না হন, তাহলে “How to configure Edge” পড়ুন।
এপিআই প্রক্সিতে সংযোগ টাইমআউট কনফিগার করা
এপিআই প্রক্সিতে নিম্নলিখিত স্থানগুলিতে সংযোগের সময়সীমা (কানেকশন টাইমআউট) কনফিগার করা যেতে পারে:
- লক্ষ্য শেষবিন্দু
-
ServiceCalloutনীতি
এপিআই প্রক্সির টার্গেট এন্ডপয়েন্টে কানেকশন টাইমআউট কনফিগার করা
এই বিভাগে আপনার এপিআই প্রক্সির টার্গেট এন্ডপয়েন্টে কানেকশন টাইমআউট কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। কানেকশন টাইমআউটটি connect.timeout.millis প্রপার্টির মাধ্যমে কনফিগার করা যায়, যা মিলিসেকেন্ডে কানেকশন টাইমআউটের মান নির্দেশ করে।
- Edge UI-তে, সেই নির্দিষ্ট API প্রক্সিটি নির্বাচন করুন যেখানে আপনি নতুন সংযোগ টাইমআউট মানটি কনফিগার করতে চান।
- যে নির্দিষ্ট টার্গেট এন্ডপয়েন্টটি আপনি পরিবর্তন করতে চান, সেটি নির্বাচন করুন।
-
TargetEndpointকনফিগারেশনে<HTTPTargetConnection>এলিমেন্টের অধীনেconnect.timeout.millisপ্রপার্টিটি একটি উপযুক্ত মান দিয়ে যোগ করুন।উদাহরণস্বরূপ, কানেকশন টাইমআউট
5সেকেন্ডে পরিবর্তন করতে, নিম্নলিখিত কোড ব্লকটি যোগ করুন:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
যেহেতু
connect.timeout.millisপ্রপার্টিটি মিলিসেকেন্ডে থাকে, তাই5সেকেন্ডের জন্য এর মান হলো5000।নিম্নলিখিত উদাহরণগুলিতে দেখানো হয়েছে কীভাবে আপনার এপিআই প্রক্সির টার্গেট এন্ডপয়েন্ট কনফিগারেশনে কানেকশন টাইমআউট সেট করতে হয়:
ব্যাকএন্ড সার্ভারের জন্য 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> - আপনার এপিআই প্রক্সিতে করা পরিবর্তনগুলো সংরক্ষণ করুন।
এপিআই প্রক্সির সার্ভিসকলআউট পলিসিতে কানেকশন টাইমআউট কনফিগার করা
এই বিভাগে আপনার এপিআই প্রক্সির ServiceCallout পলিসিতে কানেকশন টাইমআউট কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। কানেকশন টাইমআউটটি connect.timeout.millis প্রপার্টির মাধ্যমে কনফিগার করা যায়, যা মিলিসেকেন্ডে সংযোগের সময়কে নির্দেশ করে।
connect.timeout.millis প্রপার্টি ব্যবহার করে ServiceCallout পলিসিতে কানেকশন টাইমআউট কনফিগার করতে:
- Edge UI-তে, সেই নির্দিষ্ট API প্রক্সিটি নির্বাচন করুন যেখানে আপনি
ServiceCalloutপলিসির জন্য নতুন কানেকশন টাইমআউট ভ্যালুটি কনফিগার করতে চান। - যে নির্দিষ্ট
ServiceCalloutপলিসিটি আপনি পরিবর্তন করতে চান, সেটি নির্বাচন করুন। -
TargetEndpointকনফিগারেশনে<HTTPTargetConnection>এলিমেন্টের অধীনেconnect.timeout.millisপ্রপার্টিটি একটি উপযুক্ত মান দিয়ে যোগ করুন।উদাহরণস্বরূপ, কানেকশন টাইমআউট
5সেকেন্ডে পরিবর্তন করতে, নিম্নলিখিত কোড ব্লকটি যোগ করুন:<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
যেহেতু
connect.timeout.millisপ্রপার্টিটি মিলিসেকেন্ডে থাকে, তাই5সেকেন্ডের জন্য এর মান হলো5000।নিম্নলিখিত উদাহরণগুলিতে দেখানো হয়েছে কীভাবে আপনার এপিআই প্রক্সির
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 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> - আপনার এপিআই প্রক্সিতে করা পরিবর্তনগুলো সংরক্ষণ করুন।
মেসেজ প্রসেসরগুলিতে সংযোগ টাইমআউট কনফিগার করা
এই বিভাগে মেসেজ প্রসেসরগুলিতে কানেকশন টাইমআউট কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। "How to configure Edge"-এ বর্ণিত সিনট্যাক্স অনুযায়ী টোকেন ব্যবহার করে, conf_http_HTTPClient.connect.timeout.millis প্রপার্টির মাধ্যমে কানেকশন টাইমআউট কনফিগার করা যায়, যা মেসেজ প্রসেসর কম্পোনেন্টে মিলিসেকেন্ডে কানেকশন টাইমআউটের মান নির্দেশ করে।
মেসেজ প্রসেসরগুলিতে কানেকশন টাইমআউট কনফিগার করতে, নিম্নলিখিতগুলি করুন:
- মেসেজ প্রসেসর মেশিনে, নিম্নলিখিত ফাইলটি একটি এডিটরে খুলুন। যদি এটি আগে থেকে বিদ্যমান না থাকে, তবে এটি তৈরি করুন।
/opt/apigee/customer/application/message-processor.properties
উদাহরণস্বরূপ,
viব্যবহার করে ফাইলটি খুলতে, নিম্নলিখিতটি লিখুন:vi /opt/apigee/customer/application/message-processor.properties
- প্রোপার্টিজ ফাইলে নিম্নলিখিত ফরম্যাটে একটি লাইন যোগ করুন, যেখানে TIME_IN_MILLISECONDS এর জায়গায় একটি মান বসাতে হবে:
conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
উদাহরণস্বরূপ, মেসেজ প্রসেসরের কানেকশন টাইমআউট
5সেকেন্ডে পরিবর্তন করতে, নিম্নলিখিত লাইনটি যোগ করুন:conf_http_HTTPClient.connect.timeout.millis=5000
- আপনার পরিবর্তনগুলো সংরক্ষণ করুন।
- নিশ্চিত করুন যে প্রোপার্টিজ ফাইলটির মালিক নিচে দেখানো অনুযায়ী
apigeeব্যবহারকারী।chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- নিচে দেখানো পদ্ধতি অনুযায়ী মেসেজ প্রসেসরটি পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- আপনার যদি একাধিক মেসেজ প্রসেসর থাকে, তাহলে সবগুলো মেসেজ প্রসেসরের ক্ষেত্রে উপরের ধাপগুলো পুনরাবৃত্তি করুন।
মেসেজ প্রসেসরগুলিতে সংযোগের সময়সীমা শেষ হওয়া যাচাই করা হচ্ছে
এই অংশে ব্যাখ্যা করা হয়েছে কীভাবে যাচাই করতে হয় যে মেসেজ প্রসেসরগুলিতে কানেকশন টাইমআউট সফলভাবে পরিবর্তন করা হয়েছে।
যদিও আপনি মেসেজ প্রসেসরে কানেকশন টাইমআউট সেট করার জন্য conf_http_HTTPClient.connect.timeout.millis টোকেনটি ব্যবহার করেন, আপনাকে যাচাই করতে হবে যে প্রকৃত HTTPClient.connect.timeout.millis প্রপার্টিটি নতুন মান দিয়ে সেট করা হয়েছে কিনা।
- মেসেজ প্রসেসর মেশিনে,
/opt/apigee/edge-message-processor/confডিরেক্টরিতেHTTPTransport.connect.timeout.millisপ্রপার্টিটি খুঁজুন এবং নিচে দেখানো নতুন মান দিয়ে এটি সেট করা হয়েছে কিনা তা পরীক্ষা করুন:grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
- যদি মেসেজ প্রসেসরে নতুন কানেকশন টাইমআউট ভ্যালুটি সফলভাবে সেট করা হয়, তাহলে উপরের কমান্ডটি
http.propertiesফাইলে নতুন ভ্যালুটি দেখায়।উপরের কমান্ডটি ব্যবহার করে কানেকশন টাইমআউট
5সেকেন্ডে কনফিগার করার পর নমুনা ফলাফলটি নিম্নরূপ:/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
উপরের উদাহরণ আউটপুটে লক্ষ্য করুন যে,
http.propertiesফাইলেHTTPClient.connect.timeout.millisপ্রপার্টিটির মান নতুন ভ্যালু5000দিয়ে সেট করা হয়েছে। এটি নির্দেশ করে যে, মেসেজ প্রসেসরে কানেকশন টাইমআউট সফলভাবে5সেকেন্ডে কনফিগার করা হয়েছে। - আপনি যদি এখনও
HTTPClient.connect.timeout.millisপ্রপার্টির জন্য পুরোনো মান দেখতে পান, তাহলে যাচাই করুন যে আপনি "মেসেজ প্রসেসরে কানেকশন টাইমআউট কনফিগার করা" অংশে বর্ণিত সমস্ত ধাপ সঠিকভাবে অনুসরণ করেছেন কিনা। যদি কোনো ধাপ বাদ পড়ে থাকে, তাহলে সমস্ত ধাপ আবার সঠিকভাবে পুনরাবৃত্তি করুন। - আপনি যদি এখনও কানেকশন টাইমআউট পরিবর্তন করতে না পারেন, তাহলে Google Cloud Apigee Edge Support-এর সাথে যোগাযোগ করুন।