শুধুমাত্র সার্ভার ডাউন করার ক্ষেত্রে HAProxy স্যুইচ করুন


13

ধরা যাক আমার 2 টি সার্ভার রয়েছে - এসএ এবং এসবি। এইভাবে কাজ করার জন্য কি HAProxy কনফিগার করা সম্ভব:

সমস্ত সংযোগ SA- তে যায় -> এসএ ডাউন হয় -> HProxy এসবি-তে সমস্ত সংযোগগুলি স্যুইচ করে -> এসবি ডাউন না হওয়া পর্যন্ত - কোনও সংযোগ এসএ-তে যায় না, এমনকি যদি এটি আবার উপরে থাকে -> এসবি ডাউন হয় -> HAProxy এসএতে স্যুইচ করে .. ।

সংক্ষেপে আমি চাই যে বর্তমান সার্ভারটি ডাউন হয়ে গেলেই HAProxy স্যুইচ করুন। আমার HAProxy ছাড়া অন্য কি স্টেচ ব্যবহার করা উচিত?

উত্তর:


22

এই কনফিগারেশনটি দেখুন:

listen my-server 0.0.0.0:80
    balance roundrobin
    server web01 10.10.10.1:80 check inter 10s fall 3 rise 99999999
    server web02 10.10.10.2:80 check backup

সমস্ত অনুরোধগুলি ডিফল্টভাবে ওয়েব01 এ আঘাত করবে। ওয়েব02 ব্যবহৃত হবে না। যদি ওয়েব01 সাড়া দেওয়া বন্ধ করে দেয়, 30 এর পরে (10 সেকেন্ডের ব্যবধানে 3 টি চেক) সার্ভারটি অফলাইনে নেওয়া হবে। ওয়েব02 অনলাইনে আনা হবে এবং সমস্ত অনুরোধগুলি এটি হিট করবে।

যদি ওয়েব ০১ পুনরুদ্ধার হয়, তবে এটি শুধুমাত্র অনলাইনে আবার আনতে হবে 99999999 10 সেকেন্ড পাসের ব্যবধানে যাচাই করে - যা কার্যকরভাবে কখনই হয় না।


এটি আকর্ষণীয় দেখায়। আমি আপনার এবং @ ডেনিস সমাধানটি চেষ্টা করব। আমাকে কিছু পরীক্ষাও করতে হয়েছে যাতে আমি কিছু ফলাফল পেতে পারি। ধন্যবাদ.
জো

1
নিজে থেকে ওয়েব01 অফলাইনে নেওয়া কি সম্ভব? ওয়েব01 বন্ধ করে দিচ্ছে না / এর প্রক্রিয়াটি নিহত করছে না, কেবল এটি নীচে হিসাবে চিহ্নিত করবেন?
লিম্বো পেং

এফওয়াইআই: interডিফল্ট fall2 এস, ডিফল্ট 2 এবং riseডিফল্ট 2। আরও এখানে পাওয়া যাবে: haproxy.org/download/1.5/doc/configration.txt
জোশুয়া পিন্টার

5
-1, সমাধানটি 31 বছরের আপটাইম = পি এর পরে কাজ করা বন্ধ করে দিয়েছে
গ্যাসপা79

6

আপনার যদি মাত্র দুটি এবং ঠিক দুটি সার্ভার থাকে তবে আপনি যে পরিষেবাটি পেসমেকার / করোজেনিকের মাধ্যমে পরিচালনা করেন তা অত্যন্ত উপলব্ধ করার জন্য এটি কোনও ভিআইপি ব্যবহার করা আরও বুদ্ধিমান হতে পারে।

এসবিটিকে ব্যাকআপ সার্ভার হিসাবে চিহ্নিত করে এটি হ্যাপ্রোক্সি সহও সম্ভব। এসএ উপলব্ধ না হলে এটি কেবলমাত্র ব্যবহৃত হয়:

backend mybackend
mode            http
balance         roundrobin
option          httpchk /test.html
server          server1.example.com server1.example.com:80 weight 1 check port 80 inter 5s rise 3 fall 2
server          server2.example.com server2.example.com:80 backup weight 1 check port 80 inter 5s rise 3 fall 2

যাইহোক, এটি আপনি যা চান তার দুটি অংশ সফল করে না: এটি ফিরে আসার সাথে সাথে এটি আবার এসএ ব্যবহার শুরু করবে। আমি নিশ্চিত না যে হ্যাপ্রোক্সিটি আপনার পছন্দ মতো আচরণ করার কোনও বিকল্প আছে কিনা। আমি কমপক্ষে এটি কখনও ব্যবহার করি নি।

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