রক্ষণাবেক্ষণের সময় সার্ভারে রিচেবিলিটি বন্ধ করে দেওয়া ভাল অভ্যাস, যেমন সার্ভার রিস্টার্ট বা আপগ্রেড করার সময়। রিচেবিলিটি বন্ধ করা থাকলে, কোনও ট্রাফিক সার্ভারে নির্দেশিত হয় না। যেমন, কোনও মেসেজ প্রসেসরে রিচেবিলিটি বন্ধ করা থাকলে, রাউটার সেই মেসেজ প্রসেসরে কোনও ট্রাফিক পাঠাবে না।
যেমন, মেসেজ প্রসেসর আপগ্রেড করতে, আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করতে পারেন:
- মেসেজ প্রসেসরে রিচেবিলিটি বন্ধ করুন।
- মেসেজ প্রসেসর আপগ্রেড করুন।
- মেসেজ প্রসেসরে রিচেবিলিটি চালু করুন।
মেসেজ প্রসেসরে রিচেবিলিটি বন্ধ/চালু করা
মেসেজ প্রসেসরে রিচেবিলিটি বন্ধ করতে, আপনি শুধু মেসেজ প্রসেসর বন্ধ করতে পারেন:
/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_readyমেসেজ প্রসেসর মেসেজ প্রসেস করার জন্য রেডি থাকলে, wait_for_ready কমান্ড নিম্নলিখিত মেসেজ
রিটার্ন করে:
Checking if message-processor is up: message-processor is up.
রাউটারে রিচেবিলিটি বন্ধ/চালু করা
প্রোডাকশন এনভায়রনমেন্টে, সাধারণত এজ রাউটারের সামনে একটি লোড ব্যালেন্সার থাকে। রুট উপলভ্য কিনা তা নিশ্চিত করতে লোড ব্যালেন্সার রাউটারে পোর্ট ১৫৯৯৯ মনিটর করে।
নিম্নলিখিত URL ব্যবহার করে রাউটারে HTTP বা TCP হেল্থ চেক করার জন্য লোড ব্যালেন্সার কনফিগার করুন:
http://router_IP:15999/v1/servers/self/reachable
রাউটার অ্যাক্সেস করা গেলে, এই URL একটি HTTP 200 রেসপন্স কোড পাঠায়।
কোনও রাউটারকে আনরিচেবল করতে, আপনি রাউটারে পোর্ট ১৫৯৯৯ ব্লক করতে পারেন। লোড ব্যালেন্সার যদি পোর্ট ১৫৯৯৯-এ রাউটার অ্যাক্সেস করতে না পারে, তাহলে এটি আর রাউটারে অনুরোধ ফরওয়ার্ড করে না। যেমন, আপনি রাউটার নোডে নিম্নলিখিত iptables কমান্ড ব্যবহার করে পোর্ট ব্লক করতে পারেন:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
পরে রাউটার উপলভ্য করতে, iptables ফ্লাশ করুন:
sudo iptables -F
আপনি নোডের অন্যান্য পোর্ট ম্যানেজ করার জন্য iptables ব্যবহার করতে পারেন, তাই iptables ফ্লাশ করার সময় বা পোর্ট ১৫৯৯৯ ব্লক করার জন্য 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}রাউটারের স্ট্যাটাস জানতে, রাউটারের 8081 পোর্টে অনুরোধ করুন:
curl -v http://router_IP:8081/v1/servers/self/up
রাউটার চালু থাকলে, অনুরোধের উত্তরে "true" এবং HTTP 200 দেখায়। মনে রাখবেন যে এই কল শুধু চেক করে যে রাউটার চালু আছে কিনা। লোড ব্যালেন্সার থেকে রাউটারের রিচেবিলিটি কন্ট্রোল পোর্ট ১৫৯৯৯ দ্বারা নির্ধারিত হয়।
মেসেজ প্রসেসরের স্ট্যাটাস পেতে:
curl http://Message_Processor_IP:8082/v1/servers/self/up