রক্ষণাবেক্ষণের সময় সার্ভারে রিচেবিলিটি বন্ধ করে দেওয়া ভাল, যেমন সার্ভার রিস্টার্ট বা আপগ্রেড করার সময়। রিচেবিলিটি বন্ধ করা থাকলে, কোনও ট্রাফিক সার্ভারে ডিরেক্ট করা হয় না। যেমন, কোনও মেসেজ প্রসেসরে রিচেবিলিটি বন্ধ করা থাকলে, রাউটার সেই মেসেজ প্রসেসরে কোনও ট্রাফিক ডাইরেক্ট করবে না।
যেমন, কোনও মেসেজ প্রসেসর আপগ্রেড করতে, আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করতে পারেন:
- মেসেজ প্রসেসরে রিচেবিলিটি বন্ধ করুন।
- মেসেজ প্রসেসর আপগ্রেড করুন।
- মেসেজ প্রসেসরে রিচেবিলিটি চালু করুন।
মেসেজ প্রসেসরের রিচেবিলিটি বন্ধ/চালু করা
Message Processor-এ রিচেবিলিটি বন্ধ করতে, আপনি শুধু Message Processor বন্ধ করে দিতে পারেন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
মেসেজ প্রসেসর বন্ধ হওয়ার আগে কোনও বাকি মেসেজ থাকলে সেটি প্রসেস করে নেয়। কোনও নতুন অনুরোধ উপলভ্য অন্যান্য মেসেজ প্রসেসরের কাছে পাঠানো হয়।
মেসেজ প্রসেসর রিস্টার্ট করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_readyMessage
Processor মেসেজ প্রসেস করার জন্য রেডি থাকলে, wait_for_ready কমান্ড নিম্নলিখিত মেসেজটি রিটার্ন করে:
Checking if message-processor is up: message-processor is up.
রাউটারে রিচেবিলিটি বন্ধ/চালু করা
প্রোডাকশন এনভায়রনমেন্টে, সাধারণত এজ রাউটারের সামনে একটি লোড ব্যালেন্সার থাকে। রুট উপলভ্য আছে কিনা তা নিশ্চিত করতে লোড ব্যালেন্সার রাউটারে পোর্ট 15999 মনিটর করে।
নিম্নলিখিত URL ব্যবহার করে রাউটারে HTTP বা TCP হেল্থ চেক করার জন্য লোড ব্যালেন্সার কনফিগার করুন:
http://router_IP:15999/v1/servers/self/reachable
রাউটারে পৌঁছানো গেলে এই URL একটি HTTP 200 রেসপন্স কোড রিটার্ন করে।
রাউটারকে অ্যাক্সেস করা না গেলে, রাউটারে পোর্ট 15999 ব্লক করতে পারেন। লোড ব্যালেন্সার যদি পোর্ট ১৫৯৯৯-এ রাউটার অ্যাক্সেস করতে না পারে, তাহলে এটি আর রাউটারে অনুরোধ ফরওয়ার্ড করে না। যেমন, আপনি রাউটার নোডে নিম্নলিখিত iptables কমান্ড ব্যবহার করে পোর্ট ব্লক করতে পারেন:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
পরে রাউটার উপলভ্য করতে, iptables ফ্ল্যাশ করুন:
sudo iptables -F
আপনি হয়ত নোডে অন্যান্য পোর্ট ম্যানেজ করার জন্য iptables ব্যবহার করছেন, তাই আপনাকে iptables ফ্ল্যাশ করার সময় বা পোর্ট 15999 ব্লক করার জন্য iptables ব্যবহার করার সময় এটি বিবেচনা করতে হবে। আপনি যদি অন্যান্য নিয়মের জন্য iptables ব্যবহার করেন, তাহলে নির্দিষ্ট পরিবর্তনটি আগের অবস্থায় ফিরিয়ে আনতে -D বিকল্প ব্যবহার করতে পারবেন:
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
রাউটার হেল্থ চেক করা
আপনি রাউটারে নিম্নলিখিত ধরনের হেলথ চেক করতে পারবেন:
- লাইভনেস: মনিটরিং সাবসিস্টেমকে দেওয়া একটি সিগন্যাল যা কোনও কম্পোনেন্ট
রিস্টার্ট করতে পারে। যেমন:
To check a router's liveness: http://router_IP:8081/v1/servers/self/up To check a load balancer's liveness: http://router_IP:15999/v1/servers/self/reachable
- প্রস্তুতি: কোনও নির্দিষ্ট এনভায়রনমেন্টের জন্য রাউটার গ্রাহকের অনুরোধ প্রসেস করতে পারবে কিনা তা নির্ধারণ করে।
যেমন:
To check both a router and MP pool's availability: http://router_IP:15999/{org}__{env}রাউটারের স্ট্যাটাস পেতে, রাউটারে পোর্ট ৮০৮১-এর জন্য অনুরোধ করুন:
curl -v http://router_IP:8081/v1/servers/self/up
রাউটার চালু থাকলে, অনুরোধের উত্তরে "true" এবং HTTP 200 রিটার্ন করে। মনে রাখবেন, এই কলটি শুধুমাত্র রাউটার চালু ও চলছে কিনা তা চেক করে। লোড ব্যালেন্সার থেকে রাউটারের অ্যাক্সেস কন্ট্রোল করার বিষয়টি পোর্ট ১৫৯৯৯ দ্বারা নির্ধারিত হয়।
মেসেজ প্রসেসরের স্ট্যাটাস পেতে:
curl http://Message_Processor_IP:8082/v1/servers/self/up