এই HAProxy "পুনরায় আরম্ভ করার স্ক্রিপ্ট" কাজটি আমার মনে হয় যে এটি কার্যকর হবে?


9

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

  1. 80 এবং 443 পোর্টগুলির জন্য সমস্ত "নতুন" HTTP ট্র্যাফিক থামিয়ে দিন - কেবল "বিরতি দিন", কোনও ত্রুটি করবেন না
  2. সমস্ত "প্রক্রিয়াধীন" অনুরোধগুলি সম্পূর্ণ হয়ে গেলে হৃৎপিণ্ডে পুনরায় চালু করুন
  3. আনুষ্ঠানিকভাবে http ট্র্যাফিক থামান এবং যথারীতি ব্যবসা চালিয়ে যান।

এভাবে কি চলবে? আমি কি কিছু মিস করেছি? আইপি-এর উপর ভিত্তি করে আমাদের কয়েক হাজার এসিএল বিধি রয়েছে, এমন একটি ফাইলে সঞ্চিত রয়েছে যেটি হ্যাপ্রোক্সি রেফারেন্স করে এবং আমাদের এটি এক মিনিট কয়েকবার পুনরায় লোড করতে হবে।

#!/bin/sh

# hold/pause new requests
iptables -I INPUT -p tcp --dport 80 --syn -j DROP
iptables -I INPUT -p tcp --dport 443 --syn -j DROP
sleep 1

# gracefully restart haproxy
/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid)

# allow new requests to come in again
iptables -D INPUT -p tcp --dport 80 --syn -j DROP
iptables -D INPUT -p tcp --dport 443 --syn -j DROP

সম্পাদনা: আমি এটি কোনওভাবে পরীক্ষা করতে পছন্দ করব তবে এখনও আমাদের কোনও ট্র্যাফিক নেই (আমার পরীক্ষা বাদ দিয়ে)।

সূত্র:

http://www.forouzani.com/reload-haproxy-cfg-without-restarting.html

https://github.com/Mirantis/openstack-lbaas/issues/3

শূন্য প্যাকেট ক্ষতির সাথে HAProxy ক্রেফুল রিলোড

উত্তর:


4

এই নিবন্ধগুলির উপর ভিত্তি করে এটি সূক্ষ্মভাবে কাজ করা উচিত।

কেবল মনে রাখবেন যে আপনার কাছে ট্র্যাফিক নেই আপনি সর্বদা এটি অনুকরণ করতে পারেন।

কিছু জাল ট্র্যাফিক রাখতে অ্যাপাচি বেঞ্চমার্ক সরঞ্জামটি ব্যবহার করুন ।

কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি যে পৃষ্ঠাটি লোড করছেন সেটি লোড হতে কয়েক সেকেন্ড সময় নেয়, সবচেয়ে খারাপ পরিস্থিতি পরীক্ষা করতে।

আমি আপনার জন্য একটি কুকবুক তৈরি করেছি যা প্রমাণ করে যে আপনার দেওয়া কনফিগারেশনটি সঠিকভাবে কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.