လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Nginx သည်မျှတသော algorithm နိယာမနှင့်လက်တွေ့လမ်းညွှန်များကိုဟန်ချက်ညီစေသည်

Nginx သည်မျှတသော algorithm နိယာမနှင့်လက်တွေ့လမ်းညွှန်များကိုဟန်ချက်ညီစေသည်

M66 2025-10-22

Nginx ဝန်ချိန်ခွင်လျှာနှင့်မျှတသော algorithm မှနိဒါန်း

ဖြန့်ဝေထားသောစနစ်များတွင် 0 န်ဆောင်မှုနည်းပါးခြင်းနှင့်စွမ်းဆောင်ရည်မြင့်မားစေရန်သေချာစေရန် Load Balancing သည်အရေးကြီးသော link တစ်ခုဖြစ်သည်။ မြင့်မားသောစွမ်းဆောင်ရည်ရှိသော web server နှင့် reverse proxy server တစ်ခုအနေဖြင့် Nginx သည် Load Balancing Balancing Algorithms ကိုထောက်ပံ့သည်။

တရားမျှတသော algorithm နိယာမ

မျှတသော algorithm ၏အဓိကအယူအဆမှာဆာဗာ၏အလေးချိန်နှင့်အညီတောင်းဆိုမှုများကိုခွဲဝေချထားရန်ဖြစ်သည်။ အကောင်အထည်ဖော်မှုအဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

  • ဆာဗာတစ်ခုစီ၏အလေးချိန်အပေါ် အခြေခံ. ဆာဗာစာရင်းကိုထုတ်လုပ်ပါ။
  • တောင်းဆိုမှုတစ်ခုရောက်လာသောအခါအမြင့်ဆုံးလက်ရှိအလေးချိန်ရှိသောဆာဗာကိုပြုပြင်ရန်အတွက်ရွေးချယ်သည်။
  • တောင်းဆိုမှုကိုပြုပြင်ပြီးနောက်ဆာဗာ၏အလေးချိန်မှစုစုပေါင်းကိုယ်အလေးချိန်ကိုအကြီးမြတ်ဆုံးဘုံ divisor ကိုနုတ်ပါ။
  • အသစ်ပြောင်းထားသောဆာဗာစာရင်းကိုနောက်တစ်ကြိမ်တောင်းဆိုမှုခွဲဝေချထားပေးရာတွင်အသုံးပြုသည်။

ဤနည်းလမ်းသည်ဆာဗာစွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုများအပေါ် အခြေခံ. တောင်းဆိုမှုများကိုကျိုးကြောင်းဆီလျော်စွာခွဲဝေချထားပေးနိုင်သည်။

Nginx ရှိတရားမျှတသော algorithm ကိုအကောင်အထည်ဖော်ခြင်း

Nginx သည်ပုံမှန်အားဖြင့်တိုက်ရိုက်မျှတသော algorithm ပံ့ပိုးမှုမပေးသော်လည်း၎င်းကိုစိတ်ကြိုက်ပြင်ဆင်ခြင်းမှတစ်ဆင့်အောင်မြင်နိုင်သည်။ အောက်ပါဥပမာသည် Nginx ရှိမျှတသော algorithm ကိုမည်သို့ပြင်ဆင်ရမည်ကိုပြသသည်။

 http {
    အထက်ပြန် {{
        မျှတ;
        ဆာဗာ backend1.example.com အလေးချိန် = 3;
        ဆာဗာ backend2.explecom အလေးချိန် = 2;
        ဆာဗာ Backend3.Explemagement.com အလေးချိန် = 1;
    }

    ဆာဗာ {
        နားထောင် 80 နားထောင်ပါ။
        server_name ဥပမာ,

        တည်နေရာ / {
            proxy_pass http: // backend;
        }
    }
}

Configuration တွင်ဆာဗာစာရင်းကို အထက်ပိုင်း ညွှန်ကြားချက်မှတစ်ဆင့်သတ်မှတ်သည်။ ဆာဗာတစ်ခုစီ၏အလေးချိန်ကို အလေးချိန် အားဖြင့်သတ်မှတ်ထားသည်။ ပိုမိုမြင့်မားသောအလေးများရှိသောဆာဗာများသည်တောင်းဆိုမှုများကိုပိုမိုရယူပြီးအရင်းအမြစ်များကိုအပြည့်အဝအသုံးချလိမ့်မည်။

တရားမျှတသော algorithm ၏ Code special

တရားမျှတသော algorithm ကိုပိုမိုလိုလိုလားလားနားလည်နိုင်ရန်အတွက်အောက်ပါတို့သည် Python အကောင်အထည်ဖော်မှု၏ဥပမာတစ်ခုဖြစ်သည်။

 သွင်းကုန်သင်္ချာ

ဆာဗာ = [
    {'name': 'backend1.xpample.com', 'အလေးချိန်': 3}
    {'name': 'backend2.xpample.com', 'အလေးချိန်': 2}
    {'name': 'backend3.xpample.com', 'အလေးချိန်': 1}
]

ဆာဗာများတွင်ဆာဗာအတွက် Total_weight = Sum (server)
GCD = MATH.GCD (* [server [server] ဆာဗာများတွင်ဆာဗာအတွက် ['simple]))

ဆာဗာများတွင်ဆာဗာအတွက်:
    ဆာဗာ ['current_weight'] = ဆာဗာ ['အလေးချိန်']

မှန်ကန်နေစဉ်
    best_server = အဘယ်သူအားမျှ
    best_weight = 0

    ဆာဗာများတွင်ဆာဗာအတွက်:
        ဆာဗာ ['current_weight'] + = ဆာဗာ ['အလေးချိန်']
        အကယ်. ဆာဗာ ['current_weight']> best_weight:
            best_server = ဆာဗာ
            Best_weight = ဆာဗာ ['current_weight']

    အကောင်းဆုံး ['current_weight'] - = Total_weight

    ပုံနှိပ်ခြင်း ('' Send to you's `% s '% best_server [' Name ''])

Code တွင်လက်ရှိဆာဗာ၏လက်ရှိအလေးချိန်ကိုတွက်ချက်ခြင်းအားဖြင့်သင့်လျော်သောဆာဗာသည်တောင်းဆိုမှုကိုကိုင်တွယ်ရန်သင့်တော်ဆုံးဆာဗာကို dynamically dynamically ကို dynamically လုပ်ထားသည်။

အကျဉ်းချုပ်

မျှတသော algorithm သည်အလေးချိန်အခြေပြုဝန်ဟန်ချက်ညီဟညြစ်၏ဟန်ချက်ညီမှုနည်းဗျူဟာဖြစ်သည်။ Nginx Configuration နှင့်ရိုးရှင်းသောကျင့်ထုံးဥပမာများမှတဆင့် developer များကမျှတသော algorithm ကိုပြောင်းလဲစေပြီးအကောင်းဆုံး service စွမ်းဆောင်ရည်ကိုရရှိရန်အမှန်တကယ်ဆာဗာစွမ်းဆောင်ရည်အရအလေးချိန်ကိုချိန်ညှိနိုင်သည်။

မကြာသေးမီ ဆောင်းပါးများ