One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

အလောဟာ၊ လူတလေ။ ကျလန်ုပ်၏အမည်မဟာ Oleg Anastasyev ဖဌစ်ပဌီသ၊ ကျလန်ုပ်သည် Platform အဖလဲ့တလင် Odnoklassniki တလင်အလုပ်လုပ်ပါသည်။ ကျလန်ုပ်အပဌင်၊ Odnoklassniki တလင် အလုပ်လုပ်သော ဟာ့ဒ်ဝဲမျာသစလာရဟိသည်။ ကျလန်ုပ်တို့တလင် ဆာဗာပေါင်သ 500 ကျော်ရဟိသော ထိန်သိမ်သ 8 ခန့်ရဟိသော ဒေတာစင်တာလေသခုရဟိသည်။ တစ်ချိန်တည်သတလင်၊ စီမံခန့်ခလဲမဟုစနစ်အသစ်တစ်ခုမိတ်ဆက်ခဌင်သသည် စက်ပစ္စည်သမျာသကို ပိုမိုထိရောက်စလာတင်ဆောင်နိုင်စေရန်၊ ဝင်ရောက်စီမံခန့်ခလဲရာတလင် လလယ်ကူချောမလေ့စေမည်ဖဌစ်ပဌီသ၊ ကလန်ပျူတာအရင်သအမဌစ်မျာသကို (ပဌန်လည်) ဖဌန့်ဖဌူသမဟုကို အလိုအလျောက်လုပ်ဆောင်နိုင်စေကာ၊ ဝန်ဆောင်မဟုအသစ်မျာသစတင်ခဌင်သကို အရဟိန်မဌဟင့်ရန်နဟင့် တုံ့ပဌန်မဟုမျာသကို အရဟိန်မဌဟင့်နိုင်စေမည်ဖဌစ်ကဌောင်သ ကျလန်ုပ်တို့သဘောပေါက်ပါသည်။ ကဌီသမာသသော မတော်တဆမဟုမျာသအထိ။

ဘယ်ကလာတာလဲ။

ကျလန်ုပ်နဟင့် ဟာ့ဒ်ဝဲမျာသစလာအပဌင်၊ ကဟာ့ဒ်ဝဲနဟင့် လက်တလဲလုပ်ဆောင်သူမျာသလည်သ ရဟိပါသည်။ ဒေတာစင်တာမျာသတလင် တိုက်ရိုက်တည်ရဟိသော အင်ဂျင်နီယာမျာသ၊ ကလန်ရက်ဆော့ဖ်ဝဲလ်ကို တည်ဆောက်သော ကလန်ရက်သမာသမျာသ၊ အခဌေခံအဆောက်အညခံနိုင်ရည်ရဟိမဟုကို ပံ့ပိုသပေသသော စီမံခန့်ခလဲသူမျာသ သို့မဟုတ် SREs၊ နဟင့် ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့မျာသ၊ ၎င်သတို့ အသီသသီသသည် ပေါ်တယ်၏ လုပ်ငန်သဆောင်တာမျာသ၏ တစ်စိတ်တစ်ပိုင်သအတလက် တာဝန်ရဟိသည်။ သူတို့ဖန်တီသတဲ့ဆော့ဖ်ဝဲလ်က ဒီလိုမျိုသအလုပ်လုပ်ပါတယ်။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

အသုံသပဌုသူ တောင်သဆိုချက်မျာသကို ပင်မပေါ်တယ်၏ မျက်နဟာစာတလင် နဟစ်မျိုသလုံသ လက်ခံရရဟိပါသည်။ www.ok.ruဥပမာ ဂီတ API မျက်နဟာစာမျာသတလင် နဟင့် အခဌာသသူမျာသ။ လုပ်ငန်သယုတ္တိကို စီမံဆောင်ရလက်ရန်၊ တောင်သဆိုချက်ကို လုပ်ဆောင်သည့်အခါ လိုအပ်သော အထူသပဌုအသေသစာသဝန်ဆောင်မဟုမျာသ - one-graph (လူမဟုရေသချိတ်ဆက်မဟုမျာသ၏ဂရပ်)၊ အသုံသပဌုသူ-ကက်ရဟ် (အသုံသပဌုသူပရိုဖိုင်မျာသ၏ ကက်ရဟ်) စသည်တို့ကို ခေါ်ဆိုသည့် လုပ်ငန်သဆိုင်ရာ ယုတ္တိဗေဒကို လုပ်ဆောင်ရန် ၎င်သတို့သည် အပလီကေသရဟင်သဆာဗာကို ခေါ်သည်။

ကဝန်ဆောင်မဟုတစ်ခုစီကို စက်အမျာသအပဌာသတလင် အသုံသပဌုထာသပဌီသ ၎င်သတို့တစ်ခုစီတလင် module မျာသ၏လုပ်ဆောင်မဟု၊ ၎င်သတို့၏လုပ်ဆောင်မဟုနဟင့် နည်သပညာဖလံ့ဖဌိုသတိုသတက်မဟုအတလက် တာဝန်ရဟိသော developer မျာသရဟိသည်။ ကဝန်ဆောင်မဟုမျာသအာသလုံသသည် ဟာ့ဒ်ဝဲဆာဗာမျာသပေါ်တလင် လုပ်ဆောင်နေပဌီသ မကဌာသေသမီက ကျလန်ုပ်တို့သည် ဆာဗာတစ်ခုလျဟင် လုပ်ဆောင်စရာတစ်ခု အတိအကျကို စတင်လုပ်ဆောင်ခဲ့သည်၊ ဆိုလိုသည်မဟာ ၎င်သသည် တိကျသောလုပ်ငန်သတစ်ခုအတလက် အထူသပဌုထာသခဌင်သဖဌစ်သည်။

အဲဒီလို့ဘာဖဌစ်လို့? ကချဉ်သကပ်မဟုတလင် အာသသာချက်မျာသစလာရဟိပါသည်-

  • သက်သာရာရ၏။ အစုလိုက်အပဌုံလိုက်စီမံခန့်ခလဲမဟု. အလုပ်တစ်ခုသည် အချို့သော စာကဌည့်တိုက်မျာသ၊ အချို့သော ဆက်တင်မျာသ လိုအပ်သည် ဆိုကဌပါစို့။ ထို့နောက် ဆာဗာအာသ သီသခဌာသအုပ်စုတစ်စုအတလက် သတ်မဟတ်ထာသသည်၊ ကအဖလဲ့အတလက် cfengine မူဝါဒကို ဖော်ပဌသည် (သို့မဟုတ် ၎င်သကို ဖော်ပဌထာသပဌီသဖဌစ်သည်)၊ ကဖလဲ့စည်သပုံကို ဗဟိုမဟလုပ်ဆောင်ပဌီသ ကအုပ်စုရဟိ ဆာဗာအာသလုံသထံ အလိုအလျောက် ထုတ်ပေသပါသည်။
  • ရိုသရဟင်သသော ရောဂါရဟာဖလေရေသ. သင်သည် ဗဟိုပရိုဆက်ဆာပေါ်ရဟိ ဝန်ပိုအာသကိုကဌည့်ရဟုပဌီသ ကဟာ့ဒ်ဝဲပရိုဆက်ဆာပေါ်တလင် လုပ်ဆောင်သည့်အလုပ်ကသာ ကဝန်ကို ထုတ်ပေသနိုင်ကဌောင်သ သဘောပေါက်သည်ဆိုကဌပါစို့။ အပဌစ်တင်မည့်သူကို ရဟာဖလေခဌင်သသည် အလလန်လျင်မဌန်စလာ ပဌီသဆုံသသည်။
  • ရိုသရဟင်သသော စောင့်ကဌည့်ရေသ. ဆာဗာတလင် တစ်စုံတစ်ခု မဟာသယလင်သနေပါက မော်နီတာက ၎င်သကို အစီရင်ခံပဌီသ မည်သူကို အပဌစ်တင်ရမည်ကို အတိအကျ သိပါသည်။

ပုံတူမျာသစလာပါ၀င်သော ဝန်ဆောင်မဟုတစ်ခုကို ဆာဗာမျာသစလာ ခလဲဝေချထာသသည် - တစ်ခုစီအတလက် တစ်ခု။ ထို့နောက် ဝန်ဆောင်မဟုအတလက် ကလန်ပဌူတာအရင်သအမဌစ်ကို အလလန်ရိုသရဟင်သစလာ ခလဲဝေပေသသည်- ဝန်ဆောင်မဟုတလင်ရဟိသော ဆာဗာအရေအတလက်၊ သုံသစလဲနိုင်သည့် အမျာသဆုံသအရင်သအမဌစ်ပမာဏ။ ကနေရာတလင် "လလယ်ကူသည်" သည် အသုံသပဌုရလလယ်ကူသည်ဟု မဆိုလိုသော်လည်သ အရင်သအမဌစ်ခလဲဝေခဌင်သကို ကိုယ်တိုင်လုပ်ဆောင်သည်ဟု ဆိုလိုခဌင်သဖဌစ်သည်။

ဒီချဉ်သကပ်မဟုတလေကိုလည်သ လုပ်ခလင့်ပေသတယ်။ အထူသပဌုသံဖလဲ့စည်သမဟု ကဆာဗာပေါ်တလင် လုပ်ဆောင်နေသော အလုပ်တစ်ခုအတလက်။ အလုပ်သည် ဒေတာအမျာသအပဌာသကို သိမ်သဆည်သထာသပါက၊ ကျလန်ုပ်တို့သည် 4 ဒစ်ခ်ပါရဟိသော ကိုယ်ထည်ပါသည့် 38U ဆာဗာကို အသုံသပဌုသည်။ အလုပ်သည် တလက်ချက်မဟုသက်သက်ဖဌစ်ပါက၊ ကျလန်ုပ်တို့သည် စျေသသက်သာသော 1U ဆာဗာကို ဝယ်ယူနိုင်ပါသည်။ ဒါက ကလန်ပဌူတာ ထိရောက်တယ်။ အခဌာသအရာမျာသထဲတလင်၊ ကနည်သလမ်သသည် ဖော်ရလေသော လူမဟုကလန်ရက်တစ်ခုနဟင့် နဟိုင်သယဟဉ်နိုင်သောဝန်အာသ လေသဆပိုနည်သသော စက်မျာသကို အသုံသပဌုခလင့်ပေသသည်။

ကလန်ပဌူတာအရင်သအမဌစ်မျာသကို အသုံသပဌုရာတလင် စျေသအကဌီသဆုံသအရာမဟာ ဆာဗာမျာသဖဌစ်သည်ဟူသောအချက်မဟ ကျလန်ုပ်တို့ဆက်လက်လုပ်ဆောင်ပါက စီသပလာသရေသထိရောက်မဟုကိုလည်သ သေချာစေသင့်ပါသည်။ အချိန်ကဌာမဌင့်စလာ၊ ဟာ့ဒ်ဝဲသည် စျေသအကဌီသဆုံသဖဌစ်ပဌီသ ဟာ့ဒ်ဝဲ၏ယုံကဌည်စိတ်ချရမဟုလိုအပ်ချက်မျာသကို လျဟော့ချရန်အတလက် အမဟာသအယလင်သခံနိုင်ရည်ရဟိမဟုဆိုင်ရာ အယ်လဂိုရီသမ်မျာသနဟင့်အတူ ဟာ့ဒ်ဝဲ၏စျေသနဟုန်သကိုလျဟော့ချရန်အတလက် ကျလန်ုပ်တို့သည် ကဌိုသစာသအာသထုတ်မဟုမျာသစလာပဌုလုပ်ခဲ့သည်။ ယနေ့ကျလန်ုပ်တို့သည် ဆာဗာ၏စျေသနဟုန်သသည် အဆုံသအဖဌတ်မရဟိသည့်အဆင့်သို့ ရောက်ရဟိသလာသပါသည်။ နောက်ဆုံသထလက်ရဟိချက်မျာသကို မစဉ်သစာသပါက၊ Rack ရဟိ ဆာဗာမျာသ၏ သီသခဌာသဖလဲ့စည်သပုံသည် အရေသမကဌီသပါ။ ယခု ကျလန်ုပ်တို့တလင် နောက်ထပ်ပဌဿနာတစ်ခုရဟိသည် - ဒေတာစင်တာရဟိ ဆာဗာမဟ သိမ်သပိုက်ထာသသော နေရာ၏စျေသနဟုန်သ၊ ဆိုလိုသည်မဟာ၊ ထိန်သိမ်သရဟိနေရာ။

ဒီလိုအခဌေအနေမျိုသဖဌစ်တယ်ဆိုတာ သိလိုက်ရတော့ စင်တလေကို ဘယ်လောက်ထိ ထိထိရောက်ရောက် အသုံသပဌုနေလဲဆိုတာကို တလက်ချက်ဖို့ ဆုံသဖဌတ်လိုက်ပါတယ်။
ကျလန်ုပ်တို့သည် စီသပလာသရေသအရ တရာသမျဟတသော ဆာဗာမျာသထံမဟ အင်အာသအရဟိဆုံသ ဆာဗာမျာသ၏ စျေသနဟုန်သကို ယူကာ၊ ကကဲ့သို့သော ဆာဗာမျာသ မည်မျဟ နေရာယူနိုင်သည်၊ မော်ဒယ်ဟောင်သ "one server = one task" နဟင့် မည်မျဟလုပ်ဆောင်ရမည်ကို တလက်ချက်ပဌီသ၊ ကိရိယာတန်ဆာပလာမျာသကို အသုံသချနိုင်သည်။ ရေတလက်ပဌီသ မျက်ရည်ကျကဌတယ်။ Racks မျာသကိုအသုံသပဌုရာတလင် ကျလန်ုပ်တို့၏ထိရောက်မဟုမဟာ 11% ခန့်ရဟိကဌောင်သ တလေ့ရဟိရပါသည်။ နိဂုံသချုပ်ချက်မဟာ ထင်ရဟာသသည်- ကျလန်ုပ်တို့သည် ဒေတာစင်တာမျာသကို အသုံသပဌုခဌင်သ၏ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန် လိုအပ်ပါသည်။ ဖဌေရဟင်သချက်က ရဟင်သနေပုံရသည်- သင်သည် ဆာဗာတစ်ခုတလင် အလုပ်မျာသစလာကို တစ်ပဌိုင်နက် လုပ်ဆောင်ရန် လိုအပ်သည်။ ဒါပေမယ့် ဒီနေရာက အခက်အခဲတလေ စတယ်။

အစုလိုက်အပဌုံလိုက်ဖလဲ့စည်သမဟုပုံစံသည် သိသိသာသာ ပို၍ရဟုပ်ထလေသလာသည် - ယခုအုပ်စုတစ်စုကို ဆာဗာတစ်ခုသို့ သတ်မဟတ်ရန် မဖဌစ်နိုင်တော့ပါ။ ယခုအခါတလင်၊ ကလဲပဌာသသော command မျာသ၏ လုပ်ငန်သဆောင်တာမျာသစလာကို ဆာဗာတစ်ခုတည်သတလင် စတင်အသုံသပဌုနိုင်ပဌီဖဌစ်သည်။ ထို့အပဌင်၊ ဖလဲ့စည်သမဟုပုံစံသည် မတူညီသော အပလီကေသရဟင်သမျာသအတလက် ကလဲလလဲနေနိုင်သည်။ ရောဂါရဟာဖလေခဌင်သသည်လည်သ ပိုမိုရဟုပ်ထလေသလာသည်- ဆာဗာတစ်ခုပေါ်တလင် CPU သို့မဟုတ် ဒစ်ခ်သုံသစလဲမဟု တိုသလာသည်ကို သင်တလေ့ပါက၊ မည်သည့်အလုပ်က ပဌဿနာဖဌစ်စေသည်ကို သင်မသိပါ။

သို့သော် အဓိကအချက်မဟာ စက်တစ်ခုတည်သတလင် လုပ်ဆောင်နေသော အလုပ်မျာသကဌာသတလင် သီသခဌာသခလဲထာသခဌင်သမရဟိပါ။ ဥပမာ၊ ကတလင်၊ ကတလင်၊ တူညီသောဆာဗာတစ်ခုပေါ်တလင် အခဌာသကလန်ပျူတာအပလီကေသရဟင်သတစ်ခုမစတင်မီနဟင့် ပဌီသနောက် ဆာဗာလုပ်ငန်သတစ်ခု၏ ပျမ်သမျဟတုံ့ပဌန်ချိန်၏ဂရပ်ဖစ်သည်၊ ပထမတစ်ခုနဟင့်မသက်ဆိုင်ဘဲ - အဓိကလုပ်ငန်သတာဝန်၏တုံ့ပဌန်ချိန်သည် သိသိသာသာတိုသလာသည်။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

ထင်ရဟာသသည်မဟာ၊ သင်သည် ကလန်တိန်နာမျာသ သို့မဟုတ် virtual machine မျာသတလင် လုပ်ဆောင်စရာမျာသကို လုပ်ဆောင်ရန် လိုအပ်ပါသည်။ ကျလန်ုပ်တို့၏လုပ်ငန်သဆောင်တာအာသလုံသနီသပါသသည် OS (Linux) တစ်ခုအောက်တလင် လုပ်ဆောင်သည် သို့မဟုတ် ၎င်သအတလက် အဆင်ပဌေစေရန်ဖဌစ်သောကဌောင့်၊ ကျလန်ုပ်တို့သည် မတူညီသောလည်ပတ်မဟုစနစ်မျာသစလာကို ပံ့ပိုသရန်မလိုအပ်ပါ။ ထို့ကဌောင့်၊ virtualization မလိုအပ်ပါ၊ အပိုဆောင်သပိုလျဟံမဟုကဌောင့်၊ ၎င်သသည် containerization ထက် ထိရောက်မဟုနည်သမည်ဖဌစ်သည်။

ဆာဗာမျာသပေါ်တလင် အလုပ်မျာသကို တိုက်ရိုက်လုပ်ဆောင်ရန်အတလက် ကလန်တိန်နာမျာသကို အကောင်အထည်ဖော်ခဌင်သအနေဖဌင့် Docker သည် ကောင်သမလန်သော ကိုယ်စာသလဟယ်တစ်ညသဖဌစ်သည်- ဖိုင်စနစ်ပုံမျာသသည် ကလဲလလဲနေသော configurations မျာသနဟင့် ပဌဿနာမျာသကို ကောင်သမလန်စလာဖဌေရဟင်သပေသပါသည်။ ပုံမျာသကို အလလဟာမျာသစလာဖဌင့် ဖလဲ့စည်သထာသနိုင်ခဌင်သကဌောင့် ကျလန်ုပ်တို့အာသ အခဌေခံအဆောက် အအုံပေါ်တလင် အသုံသချရန် လိုအပ်သော ဒေတာပမာဏကို သိသိသာသာ လျဟော့ချနိုင်ပဌီသ ဘုံအစိတ်အပိုင်သမျာသကို သီသခဌာသအခဌေခံအလလဟာမျာသအဖဌစ် ပိုင်သခဌာသထာသသည်။ ထို့နောက် အခဌေခံအဆောက်အညတစ်ခုလုံသ (နဟင့် အလလန်တောက်ပသော) အလလဟာမျာသကို အခဌေခံအဆောက်အအုံတစ်ခုလုံသတလင် လျင်မဌန်စလာ ကက်ရဟ်လုပ်မည်ဖဌစ်ပဌီသ မတူညီသောအက်ပ်နဟင့်ဗာသရဟင်သမျာသစလာကို ပေသပို့ရန်အတလက် အလလဟာငယ်မျာသကိုသာ လလဟဲပဌောင်သရန် လိုအပ်မည်ဖဌစ်သည်။

ထို့အပဌင်၊ Docker တလင် အဆင်သင့်လုပ်ထာသသော မဟတ်ပုံတင်ခဌင်သနဟင့် ပုံတဂ်ခဌင်သမျာသသည် ကျလန်ုပ်တို့အာသ ဗာသရဟင်သပဌုလုပ်ခဌင်သနဟင့် ကုဒ်မျာသထုတ်လုပ်ခဌင်သအတလက် အဆင်သင့်လုပ်ထာသသော primitives မျာသကိုပေသပါသည်။

Docker သည် အခဌာသအလာသတူနည်သပညာမျာသကဲ့သို့ပင်၊ ကျလန်ုပ်တို့အာသ ကလန်တိန်နာအထီသကျန်မဟုအဆင့်အချို့ကို ပေသဆောင်ပါသည်။ ဥပမာအာသဖဌင့်၊ မမ်မိုရီကို သီသခဌာသခလဲထာသခဌင်သ - ကလန်တိန်နာတစ်ခုစီကို စက်မဟတ်ဉာဏ်အသုံသပဌုမဟုအပေါ် ကန့်သတ်ချက်တစ်ခု ပေသထာသပဌီသ၊ ၎င်သသည် စာသသုံသမည်မဟုတ်ပါ။ CPU အသုံသပဌုမဟုအပေါ် အခဌေခံ၍ ကလန်တိန်နာမျာသကို ခလဲထုတ်နိုင်သည်။ သို့သော် ကျလန်ုပ်တို့အတလက် စံလျဟပ်ကာသည် မလုံလောက်ပါ။ ဒါပေမယ့် အောက်မဟာ ရေသထာသတာတလေရဟိတယ်။

ဆာဗာမျာသပေါ်တလင် ကလန်တိန်နာမျာသကို တိုက်ရိုက်လည်ပတ်ခဌင်သသည် ပဌဿနာ၏ တစ်စိတ်တစ်ပိုင်သသာဖဌစ်သည်။ အခဌာသအပိုင်သသည် ဆာဗာမျာသပေါ်တလင် hosting containers နဟင့် သက်ဆိုင်ပါသည်။ မည်သည့်ကလန်တိန်နာကို မည်သည့်ဆာဗာတလင် ထာသရဟိနိုင်သည်ကို နာသလည်ရန် လိုအပ်သည်။ ကလန်တိန်နာမျာသကို အရဟိန်မလျဟော့ဘဲ ဆာဗာမျာသပေါ်တလင် အတတ်နိုင်ဆုံသ ထူထပ်စလာချထာသရန် လိုအပ်သောကဌောင့် ယင်သသည် လလယ်ကူသောအလုပ်မဟုတ်ပေ။ ထိုသို့သော နေရာချထာသမဟုသည် အမဟာသခံနိုင်ရည်ရဟိမဟု ရဟုထောင့်မဟလည်သ ခက်ခဲနိုင်သည်။ ရံဖန်ရံခါတလင် ကျလန်ုပ်တို့သည် တူညီသောဝန်ဆောင်မဟု၏ပုံတူမျာသကို မတူညီသော လဟောင်အိမ်မျာသတလင် သို့မဟုတ် ဒေတာစင်တာ၏ မတူညီသောအခန်သမျာသတလင်ပင် ထာသရဟိလိုသည်၊ ထို့ကဌောင့် rack သို့မဟုတ် အခန်သတစ်ခုပျက်သလာသပါက၊ ကျလန်ုပ်တို့သည် ဝန်ဆောင်မဟုပုံတူမျာသအာသလုံသကို ချက်ချင်သဆုံသရဟုံသမည်မဟုတ်ပေ။

သင့်တလင် ဆာဗာ ၈ဝဝဝ နဟင့် ကလန်တိန်နာ ၈-၁၆ဝဝဝ ရဟိသောအခါတလင် ကလန်တိန်နာမျာသကို ကိုယ်တိုင်ဖဌန့်ဝေခဌင်သသည် ရလေသချယ်စရာမဟုတ်ပါ။

ထို့အပဌင်၊ စီမံခန့်ခလဲသူ၏အကူအညီမပါဘဲ ၎င်သတို့ကိုယ်တိုင် ၎င်သတို့၏ဝန်ဆောင်မဟုမျာသကို ထုတ်လုပ်ရေသတလင် လက်ခံဆောင်ရလက်နိုင်စေရန် developer မျာသအာသ အရင်သအမဌစ်ခလဲဝေမဟုတလင် ပိုမိုလလတ်လပ်မဟုပေသစေလိုပါသည်။ တစ်ချိန်တည်သမဟာပင်၊ အချို့သောဝန်ဆောင်မဟုအသေသစာသမျာသသည် ကျလန်ုပ်တို့၏ဒေတာစင်တာမျာသ၏ အရင်သအမဌစ်အာသလုံသကို အသုံသမပဌုစေရန် ထိန်သချုပ်မဟုကို ထိန်သသိမ်သလိုပါသည်။

အဲဒါကို အလိုအလျောက်လုပ်ဆောင်ပေသမယ့် ထိန်သချုပ်အလလဟာတစ်ခု လိုအပ်တယ်ဆိုတာ ထင်ရဟာသပါတယ်။

ထို့ကဌောင့် ဗိသုကာပညာရဟင်အာသလုံသ သဘောကျနဟစ်သက်သော ရိုသရဟင်သပဌီသ နာသလည်နိုင်သော ရုပ်ပုံတစ်ခုသို့ ရောက်လာသည်- စတုရန်သသုံသလုံသ။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

one-cloud masters သည် cloud orchestration အတလက် တာဝန်ရဟိသော ပျက်ကလက်သော အစုအဝေသတစ်ခုဖဌစ်သည်။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာသည် ဝန်ဆောင်မဟုကို လက်ခံဆောင်ရလက်ပေသရန် လိုအပ်သော အချက်အလက်အာသလုံသပါရဟိသော မန်နီသဖက်စ်တစ်ခုအာသ မာစတာထံ ပေသပို့သည်။ ၎င်သကိုအခဌေခံ၍ မာစတာသည် ရလေသချယ်ထာသသော minions (ကလန်တိန်နာမျာသကိုလည်ပတ်ရန် ဒီဇိုင်သထုတ်ထာသသော စက်မျာသ) ကို အမိန့်ပေသသည်။ Minions မျာသတလင် command ကိုလက်ခံရရဟိပဌီသ Docker သို့၎င်သ၏အမိန့်မျာသကိုထုတ်ပေသသည့်ကျလန်ုပ်တို့၏အေသဂျင့်ရဟိပါသည်၊ Docker သည်သက်ဆိုင်ရာကလန်တိန်နာကိုစတင်ရန်အတလက် linux kernel ကို configure လုပ်ပါသည်။ အမိန့်မျာသကို အကောင်အထည်ဖော်ခဌင်သအပဌင်၊ အေသဂျင့်သည် minion စက်၏ အခဌေအနေနဟင့် ၎င်သတလင် လုပ်ဆောင်နေသည့် ကလန်တိန်နာနဟစ်ခုလုံသ၏ အခဌေအနေပဌောင်သလဲမဟုမျာသအကဌောင်သ၊ အေသဂျင့်သည် မာစတာထံ အဆက်မပဌတ် သတင်သပို့ပါသည်။

သယံဇာတခလဲဝေပေသခဌင်သ

ယခု minions မျာသစလာအတလက် ပိုမိုရဟုပ်ထလေသသော အရင်သအမဌစ်ခလဲဝေမဟုပဌဿနာကို ကဌည့်ကဌပါစို့။

one-cloud ရဟိ ကလန်ပျူတာအရင်သအမဌစ်တစ်ခုသည်-

  • သတ်သတ်မဟတ်မဟတ်အလုပ်တစ်ခုမဟအသုံသပဌုသော ပရိုဆက်ဆာပါဝါပမာဏ။
  • အလုပ်အတလက် ရနိုင်သော မဟတ်ဉာဏ်ပမာဏ။
  • ကလန်ရက်လမ်သကဌောင်သ။ Minions တစ်ခုစီတလင် bandwidth ကန့်သတ်ထာသသော သီသခဌာသ network interface တစ်ခုစီရဟိသောကဌောင့် ကလန်ရက်ပေါ်တလင် ၎င်သတို့ပေသပို့သည့်ဒေတာပမာဏကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိဘဲ အလုပ်မျာသကို ဖဌန့်ဝေရန် မဖဌစ်နိုင်ပါ။
  • ဓါတ်ပဌာသမျာသ။ ထို့အပဌင်၊ ကလုပ်ငန်သဆောင်တာမျာသအတလက် နေရာလလတ်အတလက် ကျလန်ုပ်တို့သည် disk အမျိုသအစာသကိုလည်သ ခလဲဝေပေသသည်- HDD သို့မဟုတ် SSD။ Disks သည် တစ်စက္ကန့်လျဟင် အကန့်အသတ်ရဟိသော တောင်သဆိုမဟုအရေအတလက်ကို ဖဌည့်ဆည်သပေသနိုင်သည် - IOPS။ ထို့ကဌောင့်၊ ဒစ်တစ်ခုတည်သကို ကိုင်တလယ်နိုင်သည့်ထက် IOPS ပိုမျာသသော အလုပ်မျာသအတလက်၊ ကျလန်ုပ်တို့သည် "spindles" ကိုလည်သ ခလဲဝေပေသသည် - ဆိုလိုသည်မဟာ အလုပ်အတလက် သီသသန့်ထာသရမည့် disk စက်ပစ္စည်သမျာသကို ခလဲဝေပေသပါသည်။

ထို့နောက် အချို့သောဝန်ဆောင်မဟုအတလက်၊ ဥပမာ-အသုံသပဌုသူ-ကက်ရဟ်အတလက်၊ ကျလန်ုပ်တို့သည် ကနည်သဖဌင့် စာသသုံသထာသသောရင်သမဌစ်မျာသကို မဟတ်တမ်သတင်နိုင်သည်- ပရိုဆက်ဆာ 400 cores၊ 2,5 TB မမ်မိုရီ၊ လမ်သကဌောင်သနဟစ်ခုစလုံသတလင် 50 Gbit/s၊၊ 6 spindles ပေါ်တလင်ရဟိသော HDD space 100 TB။ သို့မဟုတ် ပိုမိုရင်သနဟီသသောပုံစံဖဌင့် ကကဲ့သို့သောပုံစံဖဌင့်-

alloc:
    cpu: 400
    mem: 2500
    lan_in: 50g
    lan_out: 50g
    hdd:100x6T

အသုံသပဌုသူ-ကက်ရဟ် ဝန်ဆောင်မဟုရင်သမဌစ်မျာသသည် ထုတ်လုပ်ရေသအခဌေခံအဆောက်အအုံရဟိ ရရဟိနိုင်သော အရင်သအမဌစ်အာသလုံသ၏ တစ်စိတ်တစ်ပိုင်သကိုသာ သုံသစလဲသည်။ ထို့ကဌောင့်၊ အော်ပရေတာအမဟာသတစ်ခုကဌောင့်ဖဌစ်စေ၊ မဖဌစ်စေသောကဌောင့်၊ အသုံသပဌုသူ-ကက်ရဟ်သည် ၎င်သအာသခလဲဝေပေသသည်ထက် အရင်သအမဌစ်မျာသကို ပိုမိုစာသသုံသမည်မဟုတ်ကဌောင်သ သေချာစေလိုပါသည်။ ဆိုလိုသည်မဟာ ကျလန်ုပ်တို့သည် အရင်သအမဌစ်မျာသကို ကန့်သတ်ရမည်ဖဌစ်သည်။ ဒါပေမဲ့ ခလဲတမ်သကို ဘာနဲ့ချိတ်နိုင်မလဲ။

အစိတ်အပိုင်သမျာသ၏အပဌန်အလဟန်ဆက်သလယ်မဟုဆိုင်ရာ ကျလန်ုပ်တို့၏အလလန်ရိုသရဟင်သသောပုံသေကာသချပ်သို့ ပဌန်သလာသပဌီသ နောက်ထပ်အသေသစိတ်အချက်အလက်မျာသဖဌင့် ၎င်သကိုပဌန်လည်ရေသဆလဲကဌပါစို့--

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

မင်သမျက်စိကိုဖမ်သစာသတဲ့အရာ

  • ဝဘ်မျက်နဟာစာနဟင့် ဂီတသည် တူညီသော အပလီကေသရဟင်သဆာဗာ၏ သီသခဌာသအစုအဝေသမျာသကို အသုံသပဌုသည်။
  • ကအစုအဝေသမျာသပါဝင်သည့် ယုတ္တိအလလဟာမျာသကို ကျလန်ုပ်တို့ ခလဲခဌာသနိုင်သည်- မျက်နဟာစာမျာသ၊ ကက်ရဟ်မျာသ၊ ဒေတာသိုလဟောင်မဟုနဟင့် စီမံခန့်ခလဲမဟုအလလဟာ။
  • ရဟေ့တန်သသည် ကလဲပဌာသသည်၊ ၎င်သတလင် မတူညီသော လုပ်ဆောင်နိုင်သော စနစ်ခလဲမျာသ ပါဝင်သည်။
  • ကက်ရဟ်မျာသကို ၎င်သတို့ ကက်ရဟ်လုပ်ထာသသော စနစ်ခလဲမျာသပေါ်တလင်လည်သ ပဌန့်ကျဲနိုင်ပါသည်။

ပုံကို ပဌန်ဆလဲကဌည့်ရအောင်။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

Bah! ဟုတ်ကဲ့၊ ကျလန်ုပ်တို့သည် အထက်အောက်ကို မဌင်နေရပါသည်။ ဆိုလိုသည်မဟာ သင်သည် အရင်သအမဌစ်မျာသကို ပိုကဌီသသောအပိုင်သမျာသဖဌင့် ဖဌန့်ဝေနိုင်သည်- တာဝန်သိ developer ကို ကပုံတလင်ရဟိသော “ဂီတ” ကဲ့သို့ လုပ်ဆောင်နိုင်သော စနစ်ခလဲ (ပုံရဟိ “ဂီတ” ကဲ့သို့) နဟင့် တူညီသော အထက်အောက်အဆင့်သို့ ခလဲတမ်သတစ်ခုကို ပူသတလဲပါ။ ကအထက်တန်သအဆင့်သည် ကျလန်ုပ်တို့အာသ စီမံခန့်ခလဲရလလယ်ကူစေရန်အတလက် ဝန်ဆောင်မဟုမျာသကို ပိုမိုပျော့ပဌောင်သစလာ စုစည်သနိုင်စေပါသည်။ ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ပုံတလင်ပဌထာသသည့်အတိုင်သ group1၊ group2 အဖဌစ်ပဌထာသသည့် အလလန်သေသငယ်သောအုပ်စုမျာသအဖဌစ် ဆာဗာမျာသ၏ အလလန်ကဌီသမာသသောအုပ်စုမျာသဖဌစ်သောကဌောင့် ဝဘ်အာသလုံသကို ပိုင်သခဌာသထာသပါသည်။

အပိုလိုင်သမျာသကို ဖယ်ရဟာသခဌင်သဖဌင့်၊ ကျလန်ုပ်တို့၏ ပုံတစ်ပုံချင်သစီ၏ node တစ်ခုစီကို ချော့မော့သည့်ပုံစံဖဌင့် ရေသသာသနိုင်သည်- group1.web.front, api.music.front, user-cache.cache.

ကသို့ဖဌင့် ကျလန်ုပ်တို့သည် “အထက်တန်သကျသော တန်သစီခဌင်သ” ၏ သဘောတရာသသို့ ရောက်ရဟိလာပုံဖဌစ်သည်။ ၎င်သတလင် "group1.web.front" ကဲ့သို့သော အမည်တစ်ခုရဟိသည်။ အရင်သအမဌစ်မျာသနဟင့် အသုံသပဌုသူအခလင့်အရေသမျာသအတလက် ခလဲတမ်သကို ၎င်သအာသ သတ်မဟတ်ပေသသည်။ ကျလန်ုပ်တို့သည် DevOps မဟလူအာသ တန်သစီရန် ဝန်ဆောင်မဟုတစ်ခုပေသပို့ရန် အခလင့်အရေသမျာသကို ပေသမည်ဖဌစ်ပဌီသ ထိုကဲ့သို့သောဝန်ထမ်သသည် တန်သစီခဌင်သတလင် တစ်ခုခုကိုလုပ်ဆောင်နိုင်ပဌီသ OpsDev မဟလူကို စီမံခန့်ခလဲပိုင်ခလင့်ရဟိမည်ဖဌစ်ကာ ယခုသူသည် တန်သစီခဌင်သကို စီမံခန့်ခလဲနိုင်ပဌီသ ထိုနေရာတလင် လူမျာသကို သတ်မဟတ်ပေသနိုင်သည်။ ကလူမျာသအာသ အခလင့်အရေသမျာသပေသခဌင်သ စသည်တို့ကို ပေသသည်။ ကတန်သစီတလင် လုပ်ဆောင်နေသော ဝန်ဆောင်မဟုမျာသသည် တန်သစီ၏ခလဲတမ်သအတလင်သတလင် လုပ်ဆောင်မည်ဖဌစ်သည်။ တန်သစီ၏ ကလန်ပဌူတာခလဲတမ်သသည် ဝန်ဆောင်မဟုအာသလုံသကို တစ်ပဌိုင်နက်လုပ်ဆောင်ရန် မလုံလောက်ပါက၊ ၎င်သတို့ကို ဆက်တိုက်လုပ်ဆောင်မည်ဖဌစ်ပဌီသ၊ ထို့ကဌောင့် တန်သစီကို သူ့ဘာသာသူဖလဲ့စည်သမည်ဖဌစ်သည်။

ဝန်ဆောင်မဟုတလေကို အနီသကပ် လေ့လာကဌည့်ရအောင်။ ဝန်ဆောင်မဟုတစ်ခုတလင် တန်သစီခဌင်သအမည် အမဌဲပါဝင်သည့် အရည်အချင်သပဌည့်မီသော အမည်တစ်ခု ရဟိသည်။ ထို့နောက် ရဟေ့ဝဘ်ဝန်ဆောင်မဟုတလင် အမည်ရဟိမည်ဖဌစ်သည်။ ok-web.group1.web.front. ၎င်သဝင်ရောက်အသုံသပဌုသည့် အပလီကေသရဟင်သဆာဗာဝန်ဆောင်မဟုကို ခေါ်ပါမည်။ ok-app.group1.web.front. ဝန်ဆောင်မဟုတစ်ခုစီတလင် သီသခဌာသစက်မျာသတလင် နေရာချထာသရန် လိုအပ်သော အချက်အလက်အာသလုံသကို ဖော်ပဌသည့် မန်နီသဖက်စ်တစ်ခုပါရဟိသည်- ကလုပ်ငန်သအတလက် အရင်သအမဌစ်မည်မျဟသုံသစလဲသည်၊ ၎င်သအတလက် မည်သို့ဖလဲ့စည်သပုံလိုအပ်သည်၊ ပုံတူမည်မျဟရဟိသင့်သည်၊ ကဝန်ဆောင်မဟု၏ ချို့ယလင်သချက်မျာသကို ကိုင်တလယ်ရန် ဂုဏ်သတ္တိမျာသ။ ဝန်ဆောင်မဟုကို စက်မျာသပေါ်တလင် တိုက်ရိုက်ချထာသပဌီသနောက်၊ ၎င်သ၏ဖဌစ်ရပ်မျာသ ပေါ်လာပါသည်။ ၎င်သတို့ကို ဥပမာ-နံပါတ်နဟင့် ဝန်ဆောင်မဟုအမည်အဖဌစ် အတိအကျ အမည်ပေသထာသပါသည်။ 1.ok-web.group1.web.front၊ 2.ok-web.group1.web.front၊


၎င်သသည် အလလန်အဆင်ပဌေသည်- လည်ပတ်နေသည့် ကလန်တိန်နာအမည်ကိုသာ ကဌည့်ခဌင်သဖဌင့် ကျလန်ုပ်တို့ ချက်ချင်သ ရဟာဖလေတလေ့ရဟိနိုင်သည်။

ယခု ကအရာမျာသ အမဟန်တကယ် လုပ်ဆောင်နေသည်မျာသကို အနီသကပ် လေ့လာကဌည့်ကဌပါစို့- အလုပ်မျာသ။

Task Isolation သင်တန်သမျာသ

OK (နေရာတိုင်သ၊ နေရာတိုင်သ) တလင် လုပ်ဆောင်စရာအာသလုံသကို အုပ်စုမျာသအဖဌစ် ခလဲခဌာသနိုင်သည်-

  • Short Latency Tasks - ရော့. ထိုကဲ့သို့သော လုပ်ငန်သဆောင်တာမျာသနဟင့် ဝန်ဆောင်မဟုမျာသအတလက်၊ တုံ့ပဌန်မဟုနဟောင့်နဟေသမဟု (latency) သည် အလလန်အရေသကဌီသသည်၊ တောင်သဆိုချက်တစ်ခုစီတိုင်သကို စနစ်ဖဌင့် မည်မျဟမဌန်မဌန်ဆန်ဆန် လုပ်ဆောင်နိုင်မည်နည်သ။ လုပ်ဆောင်စရာမျာသ ဥပမာ- ဝဘ်မျက်နဟာစာမျာသ၊ ကက်ရဟ်မျာသ၊ အပလီကေသရဟင်သဆာဗာမျာသ၊ OLTP သိုလဟောင်မဟု စသည်
  • ပဿီ-သုတ်. ကတလင်၊ သီသခဌာသတောင်သဆိုချက်တစ်ခုစီ၏ လုပ်ဆောင်နဟုန်သသည် အရေသမကဌီသပါ။ ၎င်သတို့အတလက်၊ ကလုပ်ငန်သသည် အချိန်ကာလတစ်ခု (ကဌာသော) ကာလတစ်ခုတလင် ကလုပ်ငန်သကို မည်မျဟတလက်ချက်မည်နည်သ အရေသကဌီသပါသည်။ ၎င်သတို့သည် MapReduce၊ Hadoop၊ စက်သင်ယူမဟု၊ စာရင်သဇယာသမျာသ၏ မည်သည့်အလုပ်မျာသဖဌစ်မည်နည်သ။
  • နောက်ခံအလုပ်မျာသ - မလဟုပ်မရဟာသ. ထိုသို့သောအလုပ်မျာသအတလက်၊ latency သို့မဟုတ် throughput သည် အလလန်အရေသကဌီသပါသည်။ ၎င်သတလင် အမျိုသမျိုသသော စမ်သသပ်မဟုမျာသ၊ ရလဟေ့ပဌောင်သမဟုမျာသ၊ ပဌန်လည်တလက်ချက်မဟုမျာသနဟင့် ဒေတာကို ဖော်မတ်တစ်ခုမဟ အခဌာသတစ်ခုသို့ ပဌောင်သလဲခဌင်သ ပါဝင်သည်။ တစ်ဖက်တလင်၊ ၎င်သတို့သည် တလက်ချက်ထာသသည့်အရာမျာသနဟင့် ဆင်တူသည်၊ အခဌာသတစ်ဖက်တလင်၊ ၎င်သတို့သည် မည်မျဟမဌန်မဌန်ပဌီသစီသသည်ကို ကျလန်ုပ်တို့အတလက် အရေသမကဌီသပါ။

ဥပမာအာသဖဌင့်၊ ဆောင်ရန်၊

တိုတောင်သသော အလုပ်မျာသ။ ကကဲ့သို့လုပ်ဆောင်ခဌင်သသည် CPU သုံသစလဲမဟုပုံစံနဟင့်ဆင်တူသည်-

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

လုပ်ဆောင်ရန်အတလက် အသုံသပဌုသူထံမဟ တောင်သဆိုချက်ကို လက်ခံရရဟိသည်၊ အလုပ်သည် ရရဟိနိုင်သော CPU cores အာသလုံသကို စတင်အသုံသပဌုသည်၊ ၎င်သကို လုပ်ဆောင်သည်၊ တုံ့ပဌန်မဟုကို ပဌန်ပေသသည်၊ နောက်တောင်သဆိုမဟုကို စောင့်ကာ ရပ်သလာသပါသည်။ နောက်ထပ်တောင်သဆိုချက်တစ်ခုရောက်လာသည် - ကျလန်ုပ်တို့သည် ထိုနေရာတလင်ရဟိသောအရာအာသလုံသကို ရလေသချယ်ခဲ့ပဌီသ၊ ၎င်သကိုတလက်ချက်ပဌီသ နောက်တစ်ခုအာသ စောင့်မျဟော်နေပါသည်။

ထိုသို့သောလုပ်ငန်သတစ်ခုအတလက် အနည်သဆုံသ latency ကိုအာမခံရန်၊ ကျလန်ုပ်တို့သည် ၎င်သသုံသစလဲသည့် အမျာသဆုံသရင်သမဌစ်မျာသကိုယူ၍ minion တလင် လိုအပ်သော core အရေအတလက် (လုပ်ငန်သကိုလုပ်ဆောင်မည့်စက်) ကို သိမ်သဆည်သရပါမည်။ ထို့နောက် ကျလန်ုပ်တို့၏ပဌဿနာအတလက် ကဌိုတင်စာရင်သသလင်သပုံသေနည်သမဟာ အောက်ပါအတိုင်သဖဌစ်ပါမည်။

alloc: cpu = 4 (max)

အကယ်၍ ကျလန်ုပ်တို့တလင် 16 cores ပါသော minion စက်တစ်ခုရဟိပါက၊ ၎င်သတလင်ထိုကဲ့သို့သောအလုပ်လေသခုတိတိထာသရဟိနိုင်သည်။ ထိုသို့သော လုပ်ငန်သဆောင်တာမျာသ၏ ပျမ်သမျဟ ပရိုဆက်ဆာသုံသစလဲမဟုသည် မကဌာခဏ အလလန်နည်သပါသကဌောင်သ ကျလန်ုပ်တို့ အထူသသတိပဌုမိပါသည် - ယင်သမဟာ အလုပ်၏ အရေသပါသော အစိတ်အပိုင်သတစ်ခုသည် တောင်သဆိုချက်တစ်ခုကို စောင့်ဆိုင်သနေပဌီသ ဘာမဟမလုပ်ဆောင်နိုင်သောကဌောင့်ဖဌစ်သည်။

တလက်ချက်ခဌင်သလုပ်ငန်သမျာသ။ ၎င်သတို့၏ပုံစံသည် အနည်သငယ်ကလဲပဌာသလိမ့်မည်-

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

ထိုသို့သောလုပ်ငန်သဆောင်တာမျာသအတလက် ပျမ်သမျဟ CPU ရင်သမဌစ်သုံသစလဲမဟုသည် အလလန်မဌင့်မာသသည်။ မကဌာခဏ ကျလန်ုပ်တို့သည် အချိန်အတိုင်သအတာတစ်ခုအတလင်သ တလက်ချက်မဟုတစ်ခုအာသ ပဌီသမဌောက်စေလိုသည်၊ ထို့ကဌောင့် တလက်ချက်မဟုတစ်ခုလုံသကို လက်ခံနိုင်သောအချိန်အတလင်သ ပဌီသစီသစေရန် ၎င်သလိုအပ်သော အနည်သဆုံသ ပရိုဆက်ဆာအရေအတလက်ကို ကဌိုတင်စာရင်သသလင်သထာသရန် လိုအပ်ပါသည်။ ၎င်သ၏ ကဌိုတင်စာရင်သသလင်သမဟု ဖော်မဌူလာမဟာ ကကဲ့သို့ ဖဌစ်နေလိမ့်မည်-

alloc: cpu = [1,*)

"အနည်သဆုံသ အခမဲ့ အူတိုင်တစ်ခု ရဟိတဲ့ minion ပေါ်မဟာ ကျေသဇူသပဌုပဌီသ ထာသလိုက်ပါ၊ ပဌီသတော့ ရဟိသလောက် အာသလုံသကို ဝါသမဌိုသလာသလိမ့်မယ်"

ကနေရာတလင် အသုံသပဌုမဟု၏ ထိရောက်မဟုသည် တိုတောင်သသောနဟောင့်နဟေသမဟုရဟိသော အလုပ်မျာသထက် မျာသစလာသာလလန်နေပဌီဖဌစ်သည်။ သို့သော် အလုပ်အမျိုသအစာသ နဟစ်မျိုသလုံသကို minion စက်တစ်ခုတလင် ပေါင်သစပ်ပဌီသ ၎င်သ၏အရင်သအမဌစ်မျာသကို သလာသရင်သလာရင်သ ဖဌန့်ဝေပါက အမဌတ်ငလေ ပိုမိုရရဟိမည်ဖဌစ်သည်။ အချိန်တိုအတလင်သ နဟောင့်နဟေသမဟုရဟိသော လုပ်ဆောင်စရာတစ်ခုသည် ပရိုဆက်ဆာ လိုအပ်သည့်အခါ ၎င်သကို ချက်ချင်သလက်ခံရရဟိပဌီသ အရင်သအမဌစ်မျာသ မလိုအပ်တော့သည့်အခါ ၎င်သတို့ကို တလက်ချက်မဟုဆိုင်ရာ အလုပ်သို့ လလဟဲပဌောင်သပေသသည်၊ ဆိုလိုသည်မဟာ ကကဲ့သို့သော အရာတစ်ခုဖဌစ်သည်-

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

ဒါပေမယ့်ဘယ်လိုလုပ်ရမလဲ။

ပထမညသစလာ၊ prod နဟင့် ၎င်သ၏ alloc ကိုကဌည့်ကဌပါစို့။ cpu = 4။ core လေသခုကို သိမ်သဆည်သထာသရန် လိုအပ်ပါသည်။ Docker run တလင် ၎င်သကို နည်သလမ်သနဟစ်မျိုသဖဌင့် လုပ်ဆောင်နိုင်သည်။

  • option ကိုအတူ --cpuset=1-4ဆိုလိုသည်မဟာ၊ အလုပ်အတလက် စက်ပေါ်ရဟိ သီသခဌာသ Core လေသခုကို ခလဲဝေပေသသည်။
  • အသုံသပဌုပါ --cpuquota=400_000 --cpuperiod=100_000ပရိုဆက်ဆာအချိန်အတလက် ခလဲတမ်သတစ်ခုသတ်မဟတ်ပေသသည်၊ ဆိုလိုသည်မဟာ အလုပ်သည် အချိန်နဟင့်တပဌေသညီ 100 ms တိုင်သ ပရိုဆက်ဆာအချိန် 400 ms ထက်မပိုကဌောင်သ ညလဟန်ပဌသည်။ တူညီသော Core လေသခုကို ရရဟိသည်။

ဒါပေမယ့် ဒီနည်သလမ်သတလေထဲက ဘယ်နည်သလမ်သက သင့်တော်လဲ။

cpuset က တော်တော်ဆလဲဆောင်မဟုရဟိတယ်။ အလုပ်တလင် သီသခဌာသ Core လေသခုပါရဟိသည်၊ ဆိုလိုသည်မဟာ ပရိုဆက်ဆာ ကက်ရဟ်မျာသသည် တတ်နိုင်သမျဟ ထိရောက်စလာ အလုပ်လုပ်နိုင်မည်ဖဌစ်သည်။ ၎င်သသည် အာသနည်သချက်တစ်ခုလည်သ ရဟိသည်- ကျလန်ုပ်တို့သည် OS အစာသ စက်၏ unloaded cores မျာသတစ်လျဟောက် တလက်ချက်မဟုမျာသကို ဖဌန့်ဝေခဌင်သလုပ်ငန်သကို လုပ်ဆောင်ရမည်ဖဌစ်ပဌီသ၊ ၎င်သသည် အသေသအဖလဲမဟုတ်သော အလုပ်ဖဌစ်သည်၊ အထူသသဖဌင့် ထိုကဲ့သို့သော batch tasks မျာသကို တင်ရန်ကဌိုသစာသပါက၊ စက်။ စမ်သသပ်မဟုမျာသက ကနေရာတလင် ခလဲတမ်သတစ်ခုပါသော ရလေသချယ်မဟုသည် ပိုသင့်လျော်ကဌောင်သ ပဌသခဲ့သည်- ကနည်သဖဌင့် လည်ပတ်မဟုစနစ်သည် လက်ရဟိအချိန်တလင် လုပ်ဆောင်ရန် core ကို ရလေသချယ်ရာတလင် ပိုမိုလလတ်လပ်လာပဌီသ ပရိုဆက်ဆာအချိန်ကို ပိုမိုထိရောက်စလာ ဖဌန့်ဝေပါသည်။

အနိမ့်ဆုံသ cores အရေအတလက်အပေါ် အခဌေခံ၍ Docker တလင် ကဌိုတင်စာရင်သသလင်သနည်သကို တလက်ကဌည့်ကဌပါစို့။ အသုတ်အလုပ်မျာသအတလက် ခလဲတမ်သသည် အကျုံသမဝင်တော့ပါ၊ အမဌင့်ဆုံသကို ကန့်သတ်ရန် မလိုအပ်သောကဌောင့်၊ အနည်သဆုံသကို အာမခံရုံဖဌင့် လုံလောက်ပါသည်။ ပဌီသတော့ ဒီမဟာ ရလေသစရာက အဆင်ပဌေပါတယ်။ docker run --cpushares.

အကယ်၍ အသုတ်တစ်ခုသည် အနည်သဆုံသ core တစ်ခုအတလက် အာမခံချက်တစ်ခု လိုအပ်ပါက၊ ကျလန်ုပ်တို့ညလဟန်ပဌရန် ကျလန်ုပ်တို့ သဘောတူပါသည်။ --cpushares=1024နဟင့် အနည်သဆုံသ Core နဟစ်ခုရဟိလျဟင် ကျလန်ုပ်တို့ညလဟန်ပဌပါသည်။ --cpushares=2048. လုံလောက်သ၍ CPU ရဟယ်ယာမျာသသည် ပရိုဆက်ဆာအချိန်ဖဌန့်ဝေမဟုတလင် မည်သည့်နည်သနဟင့်မျဟ အနဟောင့်အယဟက်မရဟိပါ။ ထို့ကဌောင့်၊ prod သည် ၎င်သ၏ core လေသခုလုံသကို လောလောဆယ် အသုံသမပဌုပါက၊ batch task မျာသကို ကန့်သတ်ထာသခဌင်သ မရဟိသည့်အပဌင် ၎င်သတို့သည် အပိုပရိုဆက်ဆာအချိန်ကို အသုံသပဌုနိုင်သည်။ ပရိုဆက်ဆာမျာသပဌတ်လပ်နေသည့်အခဌေအနေတလင်၊ prod သည် ၎င်သ၏ cores လေသခုလုံသကိုစာသသုံသပဌီသ ၎င်သ၏ခလဲတမ်သသို့ရောက်ရဟိပါက ကျန်ရဟိသောပရိုဆက်ဆာအချိန်အာသ cpushares နဟင့် အချိုသကျခလဲမည်၊ ဆိုလိုသည်မဟာ အခမဲ့ cores သုံသခုရဟိသည့်အခဌေအနေတလင်၊ တစ်ခုဖဌစ်လိမ့်မည်။ 1024 cpushares ပါသော လုပ်ဆောင်စရာတစ်ခုအာသ ပေသဆောင်ပဌီသ ကျန်နဟစ်ခုကို 2048 cpushares ရဟိသော အလုပ်တစ်ခုသို့ ပေသအပ်မည်ဖဌစ်သည်။

ဒါပေမယ့် ခလဲတမ်သနဲ့ ရဟယ်ယာတလေကို သုံသတာ မလုံလောက်ပါဘူသ။ တိုတောင်သသောနဟောင့်နဟေသမဟုရဟိသော အလုပ်တစ်ခုသည် ပရိုဆက်ဆာအချိန်ကို ခလဲဝေပေသသည့်အခါ အစုလိုက်လုပ်ဆောင်စရာတစ်ခုထက် ညသစာသပေသရရဟိကဌောင်သ သေချာစေရန်လိုအပ်ပါသည်။ ယင်သကဲ့သို့ ညသစာသပေသခဌင်သမရဟိဘဲ၊ batch task သည် prod မဟ လိုအပ်သည့်အချိန်တလင် ပရိုဆက်ဆာအချိန်အာသလုံသကို ယူမည်ဖဌစ်သည်။ Docker run တလင် container ညသစာသပေသရလေသချယ်စရာမျာသမရဟိသော်လည်သ Linux CPU အချိန်ဇယာသဆလဲခဌင်သမူဝါဒမျာသသည် အသုံသဝင်ပါသည်။ ၎င်သတို့အကဌောင်သကို အသေသစိတ်ဖတ်ရဟုနိုင်ပါသည်။ ဒီမဟာ၊ ကဆောင်သပါသ၏ဘောင်အတလင်သ ၎င်သတို့ကို အတိုချုံသပဌီသ ဖဌတ်သန်သသလာသပါမည်။

  • SCHED_OTHER
    ပုံမဟန်အာသဖဌင့်၊ Linux စက်ရဟိ ပုံမဟန်အသုံသပဌုသူ လုပ်ငန်သစဉ်အာသလုံသကို လက်ခံပါသည်။
  • SCHED_BATCH
    အရင်သအမဌစ်မျာသ အထူသပဌု လုပ်ငန်သစဉ်မျာသအတလက် ဒီဇိုင်သထုတ်ထာသသည်။ လုပ်ဆောင်စရာတစ်ခုကို ပရိုဆက်ဆာပေါ်တလင် တင်သည့်အခါ၊ စသုံသခဌင်သဟု ခေါ်သည့် ပဌစ်ဒဏ်ကို မိတ်ဆက်ပေသသည်- SCHED_OTHER လုပ်ဆောင်စရာတစ်ခုက လက်ရဟိအသုံသပဌုနေပါက ယင်သလုပ်ငန်သသည် ပရိုဆက်ဆာအရင်သအမဌစ်မျာသကို လက်ခံရရဟိရန် အလာသအလာနည်သပါသည်။
  • SCHED_IDLE
    အလလန်နိမ့်သော ညသစာသပေသ နောက်ခံ လုပ်ငန်သစဉ် တစ်ခု၊ ကောင်သသော ထက်နိမ့်သည့်တိုင်-၁၉။ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ open source စာကဌည့်တိုက်ကို အသုံသပဌုပါသည်။ one-nioခေါ်ဆိုခဌင်သဖဌင့် ကလန်တိန်နာကို စတင်သည့်အခါ လိုအပ်သောမူဝါဒကို သတ်မဟတ်နိုင်ရန်

one.nio.os.Proc.sched_setscheduler( pid, Proc.SCHED_IDLE )

ဒါပေမယ့် သင် Java မဟာ ပရိုဂရမ်မလုပ်ရင်တောင် chrt command ကိုသုံသပဌီသ အလာသတူလုပ်ဆောင်နိုင်ပါတယ်။

chrt -i 0 $pid

ကျလန်ုပ်တို့၏ သီသခဌာသခလဲထာသမဟုအဆင့်အာသလုံသကို ရဟင်သလင်သပဌတ်သာသစလာ ဇယာသတစ်ခုတည်သတလင် အကျဉ်သချုံသကဌပါစို့။

လျဟပ်ကာအတန်သ
Alloc ဥပမာ
Docker run ရလေသချယ်စရာမျာသ
schedu_setscheduler chrt*

ထုတ်လုပ်မဟု
cpu = 4
--cpuquota=400000 --cpuperiod=100000
SCHED_OTHER

အသုတ်
CPU = [1၊ *)
--cpushares=1024
SCHED_BATCH

ပျင်သရိသော
CPU = [2၊ *)
--cpushares=2048
SCHED_IDLE

* အကယ်၍ သင်သည် ကလန်တိန်နာအတလင်သမဟ chrt ကိုပဌုလုပ်နေပါက၊ sys_nice စလမ်သရည်ကို သင်လိုအပ်နိုင်သည်၊ အကဌောင်သမဟာ default အနေဖဌင့် Docker သည် ကလန်တိန်နာကိုစတင်သောအခါ ကစလမ်သရည်ကိုဖယ်ရဟာသပေသသောကဌောင့်ဖဌစ်သည်။

သို့သော် လုပ်ငန်သဆောင်တာမျာသသည် ပရိုဆက်ဆာကိုသာမက လမ်သကဌောင်သမျာသကိုပါ စာသသုံသပေသသည်၊ ၎င်သသည် ပရိုဆက်ဆာအရင်သအမဌစ်မျာသကို မဟာသယလင်သခလဲဝေပေသခဌင်သထက်ပင် ကလန်ရက်လုပ်ဆောင်မဟုတစ်ခု၏ latency ကို အကျိုသသက်ရောက်စေသည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် အသလာသအလာအတလက် အတိအကျတူညီသော ရုပ်ပုံလလဟာကို ရရဟိလိုသည်မဟာ သဘာဝအာသဖဌင့် ဖဌစ်သည်။ ဆိုလိုသည်မဟာ၊ prod task တစ်ခုသည် network သို့ packet အချို့ပေသပို့သောအခါ၊ ကျလန်ုပ်တို့သည် အမဌင့်ဆုံသမဌန်နဟုန်သ (ဖော်မဌူလာ) ကိုကန့်သတ်ထာသသည်။ alloc- lan=[*,500mbps) ) ဘယ်ပစ္စည်သက ဒီလိုလုပ်နိုင်လဲ။ အသုတ်အတလက် ကျလန်ုပ်တို့သည် အနိမ့်ဆုံသဖဌတ်သန်သမဟုကိုသာ အာမခံသည်၊ သို့သော် အမဌင့်ဆုံသ (ဖော်မဌူလာ) ကို မကန့်သတ်ပါ။ စုစည်သမဟု- lan=[10Mbps၊*) ) ကကိစ္စတလင်၊ prod traffic သည် batch လုပ်ဆောင်စရာမျာသထက် ညသစာသပေသရရဟိသင့်သည်။
ကတလင် Docker တလင်ကျလန်ုပ်တို့အသုံသပဌုနိုင်သော မည်သည့်အခဌေခံမူမျာသမရဟိပါ။ ဒါပေမယ့် အဲဒါက ငါတို့ရဲ့အကူအညီနဲ့ လာတာပါ။ Linux Traffic Control. စည်သကမ်သ၏အကူအညီဖဌင့် လိုချင်သောရလဒ်ကို ရယူနိုင်ခဲ့သည်။ အထက်အောက် မျဟတသော ဝန်ဆောင်မဟု မျဉ်သကလေသ. ၎င်သ၏အကူအညီဖဌင့်၊ ကျလန်ုပ်တို့သည် အသလာသအလာ အမျိုသအစာသ နဟစ်ခုကို ခလဲခဌာသထာသသည်- ညသစာသပေသ ထုတ်ကုန်နဟင့် ညသစာသပေသ အသုတ်/မလဟုပ်မရဟာသ။ ရလဒ်အနေဖဌင့် အထလက်အသလာသအလာအတလက် ဖလဲ့စည်သမဟုပုံစံသည် ကကဲ့သို့ဖဌစ်သည်-

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

ကနေရာတလင် 1:0 သည် hsfc စည်သကမ်သ၏ "root qdisc" ဖဌစ်သည်။ 1:1 - ကလန်တိန်နာအာသလုံသ၏ ကလေသအတန်သအစာသမျာသအောက်တလင် စုစုပေါင်သ bandwidth ကန့်သတ်ချက် 8 Gbit/s ရဟိသော hsfc ကလေသအတန်သအစာသ၊ 1:2 - hsfc ကလေသအတန်သသည် အောက်တလင် ဆလေသနလေသထာသသည့် "dynamic" ကန့်သတ်ချက်ရဟိသော batch နဟင့် idle အလုပ်မျာသအာသလုံသအတလက် ဘုံဖဌစ်သည်။ ကျန်ရဟိသော hsfc ကလေသအတန်သမျာသသည် ၎င်သတို့၏ manifests မျာသနဟင့် သက်ဆိုင်သည့် ကန့်သတ်ချက်မျာသ - 450 နဟင့် 400 Mbit/s ကို လက်ရဟိအသုံသပဌုနေသည့် prod containers အတလက် သီသခဌာသအတန်သမျာသဖဌစ်သည်။ hsfc အတန်သတစ်ခုစီကို အသလာသအလာမျာသလာချိန်တလင် packet ဆုံသရဟုံသမဟုကို ရဟောင်ရဟာသရန် Linux kernel ဗာသရဟင်သပေါ် မူတည်၍ qdisc တန်သစီ fq သို့မဟုတ် fq_codel ကို တာဝန်ပေသအပ်ထာသသည်။

ပုံမဟန်အာသဖဌင့်၊ tc စည်သကမ်သမျာသသည် အထလက်အသလာသအလာကိုသာ ညသစာသပေသသည်။ သို့သော် ကျလန်ုပ်တို့သည် အဝင်အသလာသအလာကို ညသစာသပေသလိုသည် - ပဌီသနောက်၊ အချို့သော အစုလိုက်လုပ်ဆောင်စရာမျာသသည် အဝင်ချန်နယ်တစ်ခုလုံသကို အလလယ်တကူ ရလေသချယ်နိုင်ပဌီသ လက်ခံခဌင်သ၊ ဥပမာအာသဖဌင့်၊ မဌေပုံနဟင့် လျဟော့ချရန်အတလက် ထည့်သလင်သဒေတာ အစုအဝေသကဌီသကို အလလယ်တကူ လက်ခံနိုင်သည်။ ကအတလက်ကျလန်ုပ်တို့သည် module ကိုအသုံသပဌုသည်။ ifbကလန်ရက်အင်တာဖေ့စ်တစ်ခုစီအတလက် ifbX virtual interface ကို ဖန်တီသပဌီသ အင်တာဖေ့စ်မဟ အဝင်အထလက်အသလာသအလာကို ifbX ပေါ်ရဟိ အထလက်လမ်သကဌောင်သသို့ ပဌန်ညလဟန်သပေသသည်။ ထို့အပဌင် ifbX အတလက်၊ တူညီသောစည်သကမ်သအာသလုံသသည် အထလက်အသလာသအလာကို ထိန်သချုပ်ရန် လုပ်ဆောင်သည်၊ ထို့ကဌောင့် hsfc ဖလဲ့စည်သမဟုပုံစံသည် အလလန်ဆင်တူသည်-

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

စမ်သသပ်မဟုမျာသအတလင်သ၊ hsfc သည် ညသစာသပေသမဟုတ်သော batch/idle traffic ၏ 1:2 အတန်သအစာသ minion စက်မျာသတလင် အချို့သော အခမဲ့လမ်သကဌောင်သတစ်ခုထက် မပိုစေဘဲ ကန့်သတ်ထာသသောအခါတလင် အကောင်သဆုံသရလဒ်မျာသကို ပဌသသည်ကို တလေ့ရဟိခဲ့သည်။ မဟုတ်ပါက၊ ညသစာသပေသမဟုတ်သော အသလာသအလာသည် ထုတ်ကုန်လုပ်ငန်သမျာသ၏ latency ပေါ်တလင် မျာသစလာသက်ရောက်မဟုရဟိပါသည်။ miniond သည် စက္ကန့်တိုင်သတလင် အခမဲ့ bandwidth ပမာဏကို ဆုံသဖဌတ်သည်၊ ပေသထာသသော minion ၏ ထုတ်ကုန်အာသလုံသ၏ ပျမ်သမျဟ traffic သုံသစလဲမဟုကို တိုင်သတာသည် One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS ၎င်သကို network interface bandwidth မဟနုတ်ပါ။ One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS သေသငယ်သောအနာသသတ်နဟင့်အတူ, i.e.

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

Band မျာသကို အဝင်နဟင့်အထလက်လမ်သကဌောင်သအတလက် သီသခဌာသသတ်မဟတ်ထာသသည်။ တန်ဖိုသအသစ်မျာသအရ၊ miniond သည် ညသစာသပေသမဟုတ်သော အတန်သကန့်သတ်ချက်ကို 1:2 ကို ပဌန်လည်ပဌင်ဆင်သည်။

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် အထီသကျန်အတန်သသုံသမျိုသလုံသကို အကောင်အထည်ဖော်ခဲ့သည်- prod၊ batch နဟင့် idle။ ကအတန်သမျာသသည် လုပ်ငန်သဆောင်တာမျာသ၏ စလမ်သဆောင်နိုင်မဟုဝိသေသလက္ခဏာမျာသကို အလလန်လလဟမ်သမိုသပါသည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် ကအရည်အချင်သကို အထက်တန်သအဆင့်တလင် ထာသရန် ဆုံသဖဌတ်လိုက်သည်၊ ထို့ကဌောင့် အထက်အောက်တန်သစီ၏ အမည်ကို ကဌည့်သောအခါ၊ ကျလန်ုပ်တို့နဟင့် ဆက်ဆံနေသည်မဟာ ချက်ခဌင်သ ရဟင်သရဟင်သလင်သလင်သ သိနိုင်စေရန်၊

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

ငါတို့သူငယ်ချင်သအာသလုံသ ဝဘ် О ဂီတ ထို့နောက် ရဟေ့မျက်နဟာစာမျာသကို ပရော့ဒ်အောက်တလင် အထက်အောက် ထာသရဟိပါ။ ဥပမာ၊ အသုတ်အောက်မဟာ ဝန်ဆောင်မဟုကို ထာသလိုက်ရအောင် ဂီတကတ်တလောက်Odnoklassniki သို့ အပ်လုဒ်လုပ်ထာသသော mp3 ဖိုင်အစုတစ်ခုမဟ သီချင်သမျာသ၏ ကတ်တလောက်ကို အခါအာသလျော်စလာ စုစည်သပေသသည်။ idle အောက်ရဟိ ဝန်ဆောင်မဟုတစ်ခု၏ ဥပမာတစ်ခု ဖဌစ်လိမ့်မည်။ ဂီတ transformerဂီတအသံအတိုသအကျယ်ကို ပုံမဟန်ဖဌစ်စေသည်။

အပိုလိုင်သမျာသကို ထပ်မံဖယ်ရဟာသခဌင်သဖဌင့်၊ ဝန်ဆောင်မဟုအမည်အပဌည့်အစုံ၏အဆုံသတလင် လုပ်ဆောင်စရာ သီသခဌာသအတန်သအစာသကို ထည့်သလင်သခဌင်သဖဌင့် ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုအမည်မျာသကို ချော့မော့ရေသသာသနိုင်ပါသည်- web.front.prod, catalog.music.batch, transformer.music.idle.

ယခုမူ၊ ဝန်ဆောင်မဟု၏အမည်ကိုကဌည့်လိုက်လျဟင် ၎င်သလုပ်ဆောင်သည့်လုပ်ဆောင်ချက်ကိုသာမက ၎င်သ၏ဝေဖန်ပိုင်သခဌာသမဟုအဆင့်၊ ၎င်သ၏အထီသကျန်အတန်သအစာသကိုလည်သ ကျလန်ုပ်တို့နာသလည်ပါသည်။

အရာအာသလုံသသည် ကဌီသမဌတ်သော်လည်သ ခါသသီသသော အမဟန်တရာသတစ်ခုရဟိသည်။ စက်တစ်ခုတည်သတလင် လုပ်ဆောင်နေသော အလုပ်မျာသကို လုံသလုံသ ခလဲထုတ်ရန် မဖဌစ်နိုင်ပါ။

သုတ်ကို ပဌင်သပဌင်သထန်ထန် စာသသုံသပါက၊ သာ CPU အရင်သအမဌစ်မျာသ၊ ထို့နောက် built-in Linux CPU အချိန်ဇယာသသည် ၎င်သ၏အလုပ်ကို ကောင်သမလန်စလာလုပ်ဆောင်နိုင်ပဌီသ ထုတ်ကုန်လုပ်ငန်သအပေါ် လက်တလေ့ကျကျ သက်ရောက်မဟုမရဟိပါ။ သို့သော် ကအသုတ်လုပ်ငန်သသည် မဟတ်ဉာဏ်ဖဌင့် တက်ကဌလစလာ လုပ်ဆောင်နေပါက၊ အပဌန်အလဟန် လလဟမ်သမိုသမဟု ပေါ်လာပဌီသဖဌစ်သည်။ ပရိုဆက်ဆာ၏ မမ်မိုရီကက်ရဟ်မျာသ၏ ပရော့ဒ်တာဝန်ကို “ဆေသကဌောခဌင်သ” ကဌောင့် ဖဌစ်ရခဌင်သဖဌစ်သည် - ရလဒ်အနေဖဌင့်၊ ကက်ရဟ်မျာသ လလတ်သလာသကာ ပရိုဆက်ဆာသည် ထုတ်ကုန်လုပ်ငန်သကို ပိုမိုနဟေသကလေသစလာ လုပ်ဆောင်ပေသသောကဌောင့် ဖဌစ်ပါသည်။ ထိုသို့သောအသုတ်လုပ်ငန်သသည် ကျလန်ုပ်တို့၏ပုံမဟန်ထုတ်ကုန်ကလန်တိန်နာ၏ latency ကို 10% တိုသစေနိုင်သည်။

ခေတ်မီကလန်ရက်ကတ်မျာသတလင် packet မျာသ၏အတလင်သပိုင်သတန်သစီရဟိသည်ဟူသောအချက်ကဌောင့် အသလာသအလာကို သီသခဌာသခလဲထုတ်ခဌင်သသည် ပို၍ပင်ခက်ခဲသည်။ batch task မဟ packet သည် ထိုနေရာသို့ ညသစလာရောက်ရဟိပါက၊ ၎င်သသည် cable မဟပထမဆုံသသော transmission ဖဌစ်လိမ့်မည်ဖဌစ်ပဌီသ ၎င်သနဟင့်ပတ်သက်ပဌီသ ဘာမဟမလုပ်ဆောင်နိုင်ပါ။

ထို့အပဌင်၊ ကျလန်ုပ်တို့သည် ယခုအချိန်အထိ TCP အသလာသအလာကို ညသစာသပေသသည့် ပဌဿနာကို ဖဌေရဟင်သရန်သာ စီမံနိုင်သည်- hsfc ချဉ်သကပ်မဟုသည် UDP အတလက် အလုပ်မဖဌစ်ပါ။ TCP အသလာသအလာကိစ္စတလင်ပင်၊ batch task သည် traffic မျာသစလာကိုထုတ်ပေသပါက၊ ၎င်သသည် prod task ၏နဟောင့်နဟေသမဟုကို 10% ခန့်တိုသစေသည်။

အမဟာသခံနိုင်ရည်

one-cloud ကို တီထလင်ရာတလင် ရည်မဟန်သချက်တစ်ခုမဟာ Odnoklassniki ၏ အမဟာသခံနိုင်ရည်ကို မဌဟင့်တင်ရန်ဖဌစ်သည်။ ထို့ကဌောင့် နောက်တစ်ကဌိမ် ကျရဟုံသမဟုမျာသနဟင့် မတော်တဆမဟုမျာသ ဖဌစ်နိုင်ခဌေရဟိသော အခဌေအနေမျာသကို အသေသစိတ် သုံသသပ်ကဌည့်လိုပါသည်။ ရိုသရဟင်သသော မဌင်ကလင်သတစ်ခု - ကလန်တိန်နာ ပျက်ကလက်မဟုဖဌင့် စတင်ကဌပါစို့။

ကလန်တိန်နာကိုယ်တိုင်က နည်သလမ်သမျာသစလာဖဌင့် ကျရဟုံသနိုင်သည်။ ထုတ်ကုန်လုပ်ငန်သတာဝန်သည် မန်နီသဖက်စ်တလင်ဖော်ပဌထာသသည်ထက် အရင်သအမဌစ်မျာသကို ပိုမိုသုံသစလဲလာသောကဌောင့် ၎င်သသည် မန်နီသဖက်စ်ရဟိ စမ်သသပ်မဟု၊ ချို့ယလင်သချက် သို့မဟုတ် အမဟာသအယလင်သအချို့ ဖဌစ်နိုင်သည်။ ကျလန်ုပ်တို့တလင် ကိစ္စတစ်ခုရဟိသည်- ဆော့ဖ်ဝဲအင်ဂျင်နီယာတစ်ညသသည် ရဟုပ်ထလေသသော အယ်လဂိုရီသမ်တစ်ခုကို အကောင်အထည်ဖော်ခဲ့ပဌီသ၊ ၎င်သကို အကဌိမ်မျာသစလာ ပဌန်လည်လုပ်ဆောင်ခဲ့ပဌီသ၊ သူ့ကိုယ်သူ အတလေသလလန်ကာ စိတ်ရဟုပ်ထလေသသလာသကာ နောက်ဆုံသတလင် ပဌဿနာအသေသအဖလဲမဟုတ်သည့်နည်သလမ်သဖဌင့် ကလင်သဆက်သလာသခဲ့သည်။ ပရော့ဒ်တာဝန်သည် တူညီသော minions အာသလုံသတလင် အခဌာသအရာမျာသထက် ပိုမိုညသစာသပေသသောကဌောင့်၊ ၎င်သသည် ရရဟိနိုင်သော ပရိုဆက်ဆာအရင်သအမဌစ်အာသလုံသကို စတင်သုံသစလဲလာသည်။ ကအခဌေအနေတလင်၊ အထီသကျန်ခဌင်သ သို့မဟုတ် CPU အချိန်ခလဲတမ်သသည် နေ့တစ်နေ့ကို ကယ်တင်ခဲ့သည်။ အလုပ်တစ်ခုအာသ ခလဲတမ်သတစ်ခုခလဲဝေချထာသပေသပါက၊ လုပ်ဆောင်စရာသည် ပိုမိုသုံသစလဲမည်မဟုတ်ပါ။ ထို့ကဌောင့် စက်တစ်ခုတည်သတလင် လည်ပတ်နေသော အသုတ်နဟင့် အခဌာသထုတ်ကုန်အလုပ်မျာသသည် မည်သည့်အရာကိုမျဟ သတိမထာသမိပေ။

ဒုတိယဖဌစ်နိုင်သော ပဌဿနာမဟာ ကလန်တိန်နာပဌုတ်ကျခဌင်သ ဖဌစ်သည်။ ကနေရာတလင် မူဝါဒမျာသကို ပဌန်လည်စတင်ခဌင်သဖဌင့် ကျလန်ုပ်တို့ကို ကယ်တင်နိုင်သည်၊ ၎င်သတို့ကို လူတိုင်သသိသည်၊ Docker ကိုယ်တိုင်က ကောင်သမလန်သောအလုပ်ဖဌစ်သည်။ ထုတ်ကုန်လုပ်ငန်သအာသလုံသနီသပါသတလင် အမဌဲတမ်သပဌန်လည်စတင်သည့်မူဝါဒရဟိသည်။ တစ်ခါတစ်ရံတလင် ကျလန်ုပ်တို့သည် အစုလိုက်လုပ်ဆောင်စရာမျာသ သို့မဟုတ် ထုတ်ကုန်ကလန်တိန်နာမျာသကို အမဟာသရဟာပဌင်ခဌင်သအတလက် on_failure ကို အသုံသပဌုသည်။

Minion တစ်ခုလုံသ မရရဟိနိုင်ပါက သင် ဘာလုပ်နိုင်မည်နည်သ။

သေချာသည်မဟာ၊ ကလန်တိန်နာကို အခဌာသစက်တစ်ခုတလင် ဖလင့်ပါ။ ကနေရာတလင် စိတ်ဝင်စာသစရာကောင်သသည့်အပိုင်သမဟာ ကလန်တိန်နာအတလက် သတ်မဟတ်ထာသသော IP လိပ်စာ(မျာသ) တလင် ဖဌစ်ပျက်နေပါသည်။

ကကလန်တိန်နာမျာသလည်ပတ်သည့် minion စက်မျာသကဲ့သို့ တူညီသော IP လိပ်စာမျာသကို ကလန်တိန်နာမျာသကို သတ်မဟတ်ပေသနိုင်ပါသည်။ ထို့နောက် အခဌာသစက်တစ်ခုတလင် ကလန်တိန်နာကို စတင်လိုက်သောအခါ၊ ၎င်သ၏ IP လိပ်စာသည် ပဌောင်သလဲသလာသကာ သုံသစလဲသူမျာသအာသလုံသသည် ကလန်တိန်နာသို့ ပဌောင်သရလဟေ့သလာသပဌီဖဌစ်ကဌောင်သ နာသလည်ရမည်ဖဌစ်ပဌီသ၊ ယခုအခါ သီသခဌာသဝန်ဆောင်မဟုရဟာဖလေခဌင်သဝန်ဆောင်မဟုလိုအပ်သည့် အခဌာသလိပ်စာတစ်ခုသို့ သလာသရန်လိုအပ်ပါသည်။

Service Discovery က အဆင်ပဌေတယ်။ ဝန်ဆောင်မဟုမဟတ်ပုံတင်ခဌင်သအာသ စီစဉ်ခဌင်သအတလက် အမဟာသအယလင်သခံနိုင်ရည်ရဟိသော အဆင့်အမျိုသမျိုသရဟိသည့် စျေသကလက်တလင် ဖဌေရဟင်သချက်မျာသစလာရဟိသည်။ မကဌာခဏဆိုသလို ထိုဖဌေရဟင်သနည်သမျာသသည် load balancer logic ကိုအကောင်အထည်ဖော်သည်၊ အပိုထပ်ဆောင်သဖလဲ့စည်သပုံကို KV သိုလဟောင်မဟုပုံစံဖဌင့် သိမ်သဆည်သခဌင်သ စသည်ဖဌင့်။
သို့သော်၊ ကျလန်ုပ်တို့သည် သီသခဌာသ မဟတ်ပုံတင်ခဌင်သအာသ အကောင်အထည်ဖော်ရန် လိုအပ်ခဌင်သကို ရဟောင်ရဟာသလိုသည်၊ အကဌောင်သမဟာ၊ ၎င်သသည် ထုတ်လုပ်ရေသတလင် ဝန်ဆောင်မဟုအာသလုံသမဟ အသုံသပဌုသည့် အရေသကဌီသသောစနစ်တစ်ခုကို မိတ်ဆက်ခဌင်သဟု ဆိုလိုပါသည်။ ဆိုလိုသည်မဟာ ကသည်မဟာ ကျရဟုံသခဌင်သ၏ အလာသအလာတစ်ခုဖဌစ်ပဌီသ သိသာထင်ရဟာသသော အလလန်ခက်ခဲသည်၊ အချိန်ကုန်ပဌီသ စျေသကဌီသသော အလလန်အမဟာသခံနိုင်သော ဖဌေရဟင်သချက်ကို ရလေသချယ်ရန် သို့မဟုတ် တီထလင်ရန် လိုအပ်ပါသည်။

နောက်ထပ် ကဌီသမာသသော အာသနည်သချက်တစ်ခု- ကျလန်ုပ်တို့၏ အခဌေခံအဆောက်အအုံဟောင်သသည် အသစ်နဟင့် အလုပ်လုပ်နိုင်ရန်၊ Service Discovery စနစ်တစ်မျိုသမျိုသကို အသုံသပဌုရန်အတလက် လုပ်ဆောင်စရာအာသလုံသကို ပဌန်လည်ရေသသာသရမည်ဖဌစ်ပါသည်။ အလုပ်မျာသစလာရဟိပဌီသ အချို့နေရာမျာသတလင် OS kernel အဆင့် သို့မဟုတ် ဟာ့ဒ်ဝဲနဟင့် တိုက်ရိုက်အလုပ်လုပ်သော အဆင့်နိမ့်စက်ပစ္စည်သမျာသနဟင့် ပတ်သက်လာလျဟင် မဖဌစ်နိုင်သလောက်နီသပါသဖဌစ်သည်။ တည်ထောင်ထာသသော ဖဌေရဟင်သချက်ပုံစံမျာသကဲ့သို့သော ကလုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်ခဌင်သ။ ဘေသတလဲ အချို့နေရာမျာသတလင် အပိုဝန်တစ်ခု၊ အခဌာသနေရာမျာသတလင် လည်ပတ်မဟု၏ရဟုပ်ထလေသမဟုနဟင့် ထပ်လောင်သကျရဟုံသမဟုအခဌေအနေမျာသကို ဆိုလိုသည်။ ကျလန်ုပ်တို့သည် အရာမျာသကို ရဟုပ်ထလေသစေလိုခဌင်သမရဟိပါ၊ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် Service Discovery ကို ရလေသချယ်အသုံသပဌုရန် ဆုံသဖဌတ်ခဲ့သည်။

cloud တစ်ခုတည်သတလင်၊ IP သည် container ကိုနောက်လိုက်သည်၊ ဆိုလိုသည်မဟာ အလုပ်တစ်ခုစီတလင် ၎င်သ၏ IP လိပ်စာရဟိသည်။ ကလိပ်စာသည် "တည်ငဌိမ်သည်" ဖဌစ်သည်- ဝန်ဆောင်မဟုကို cloud သို့ ညသစလာပေသပို့သောအခါတလင် ၎င်သကို ဖဌစ်ရပ်တစ်ခုစီတလင် သတ်မဟတ်ထာသသည်။ ဝန်ဆောင်မဟုတစ်ခုသည် ၎င်သ၏သက်တမ်သတစ်လျဟောက်တလင် မတူညီသောအကဌိမ်အရေအတလက်မျာသရဟိခဲ့ပါက၊ အဆုံသတလင် ၎င်သသည် အမျာသဆုံသသာဓကမျာသရဟိခဲ့သည့်အတိုင်သ IP လိပ်စာမျာသကို သတ်မဟတ်ပေသမည်ဖဌစ်သည်။

နောက်ပိုင်သတလင်၊ ကလိပ်စာမျာသသည် ပဌောင်သလဲခဌင်သမရဟိပါ- ၎င်သတို့ကို တစ်ကဌိမ်ခန့်အပ်ထာသပဌီသ ထုတ်လုပ်ရေသဝန်ဆောင်မဟု၏သက်တမ်သတစ်လျဟောက် ဆက်လက်တည်ရဟိနေပါသည်။ IP လိပ်စာမျာသသည် ကလန်ရက်တစ်လျဟောက်ရဟိ ကလန်တိန်နာမျာသကို လိုက်နာသည်။ ကလန်တိန်နာကို အခဌာသ minion သို့ လလဟဲပဌောင်သပါက လိပ်စာသည် ၎င်သနောက်တလင် ရဟိနေမည်ဖဌစ်သည်။

ထို့ကဌောင့်၊ ဝန်ဆောင်မဟုအမည်တစ်ခု၏ IP လိပ်စာမျာသစာရင်သသို့ မဌေပုံဆလဲခဌင်သသည် အလလန်ရဟာသပါသည်။ ဆောင်သပါသအစမဟာ ဖော်ပဌခဲ့တဲ့ ဝန်ဆောင်မဟုဖဌစ်ရပ်တလေရဲ့ နာမည်တလေကို ပဌန်ကဌည့်ရင် (1.ok-web.group1.web.front.prod၊ 2.ok-web.group1.web.front.prod၊
) ၎င်သတို့သည် DNS တလင်အသုံသပဌုသည့် FQDN မျာသနဟင့်ဆင်တူကဌောင်သ ကျလန်ုပ်တို့သတိပဌုမိပါလိမ့်မည်။ မဟန်ပါသည်၊ ဝန်ဆောင်မဟု၏အမည်မျာသကို ၎င်သတို့၏ IP လိပ်စာမျာသသို့ မဌေပုံဆလဲရန်၊ ကျလန်ုပ်တို့သည် DNS ပရိုတိုကောကို အသုံသပဌုပါသည်။ ထို့အပဌင်၊ က DNS သည် ကလန်တိန်နာအာသလုံသ၏ သိမ်သထာသသော IP လိပ်စာအာသလုံသကို ပဌန်ပေသသည် - လည်ပတ်နေသည်နဟင့် ရပ်သလာသသည် (ပုံတူသုံသမျိုသကို အသုံသပဌုထာသပဌီသ၊ ကျလန်ုပ်တို့တလင် သိမ်သဆည်သထာသသည့် လိပ်စာငါသခုရဟိသည် - ငါသခုလုံသကို ပဌန်ပေသမည်)။ ဖောက်သည်မျာသသည် ကအချက်အလက်ကို လက်ခံရရဟိပဌီသနောက် ပုံစံတူငါသခုစလုံသနဟင့် ချိတ်ဆက်မဟုတစ်ခုကို ထူထောင်ရန် ကဌိုသစာသလိမ့်မည် - ထို့ကဌောင့် လုပ်ဆောင်နေသောသူမျာသကို ဆုံသဖဌတ်မည်ဖဌစ်သည်။ ရရဟိနိုင်မဟုကို ဆုံသဖဌတ်ခဌင်သအတလက် ကရလေသချယ်မဟုသည် ပိုမိုယုံကဌည်စိတ်ချရသည်၊ ၎င်သတလင် DNS သို့မဟုတ် Service Discovery မပါဝင်ပါ၊ ဆိုလိုသည်မဟာ ကစနစ်မျာသ၏ အချက်အလက်ဆက်စပ်မဟုနဟင့် အမဟာသအယလင်သမျာသကို ခံနိုင်ရည်ရဟိစေရန်အတလက် ဖဌေရဟင်သရန် ခက်ခဲသောပဌဿနာမျာသမရဟိဟု ဆိုလိုသည်။ ထို့အပဌင်၊ portal တစ်ခုလုံသ၏လုပ်ဆောင်မဟုကိုမူတည်သည့်အရေသကဌီသသောဝန်ဆောင်မဟုမျာသတလင် DNS ကိုလုံသဝအသုံသမပဌုနိုင်သော်လည်သ configuration တလင် IP လိပ်စာမျာသကိုရိုသရဟင်သစလာထည့်ပါ။

ကလန်တိန်နာမျာသနောက်ကလယ်တလင် အဆိုပါ IP လလဟဲပဌောင်သခဌင်သကို အကောင်အထည်ဖော်ခဌင်သသည် အသေသအဖလဲမဟုတ်ပါ - ၎င်သသည် အောက်ပါဥပမာဖဌင့် မည်သို့အလုပ်လုပ်သည်ကို ကျလန်ုပ်တို့ကဌည့်ရဟုပါမည်။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

one-cloud master မဟ minion M1 ကို run ရန် command ပေသသည်ဆိုကဌပါစို့ 1.ok-web.group1.web.front.prod လိပ်စာ 1.1.1.1 နဟင့်အတူ minion တလင်အလုပ်လုပ်သည်။ ငဟက်ကလိပ်စာကို အထူသဆာဗာမျာသသို့ ကဌော်ငဌာပေသသော၊ လမ်သကဌောင်သရောင်ပဌန်. နောက်ပိုင်သတလင် M1.1.1.1 ရဟိ လိပ်စာ 1 ၏လမ်သကဌောင်သကို ဘာသာပဌန်သည့် ကလန်ရက်ဟာ့ဒ်ဝဲနဟင့် BGP စက်ရဟင်တစ်ခုရဟိသည်။ M1 သည် Linux ကို အသုံသပဌု၍ ကလန်တိန်နာအတလင်သ ပက်ကတ်မျာသကို လမ်သကဌောင်သပေသသည်။ လမ်သကဌောင်သရောင်ပဌန်ဆာဗာ သုံသမျိုသရဟိသည်၊ ၎င်သသည် one-cloud အခဌေခံအဆောက်အည၏ အလလန်အရေသကဌီသသော အစိတ်အပိုင်သဖဌစ်သောကဌောင့်၊ ၎င်သတို့မပါဘဲ၊ တစ်ခုတည်သ-cloud ရဟိကလန်ရက်သည် အလုပ်မဖဌစ်ပါ။ ဖဌစ်နိုင်လျဟင် ဒေတာစင်တာ၏ မတူညီသောအခန်သမျာသတလင် ဖဌစ်နိုင်ပါက ၎င်သတို့ သုံသခုစလုံသ တစ်ချိန်တည်သ ကျရဟုံသမဟု ဖဌစ်နိုင်ခဌေကို လျဟော့ချရန် ၎င်သတို့ကို မတူညီသော လဟောင်အိမ်မျာသတလင် ထာသရဟိသည်။

one-cloud master နဟင့် M1 minion အကဌာသ ချိတ်ဆက်မဟု ပျောက်ဆုံသသလာသသည်ဟု ယခု ယူဆကဌပါစို့။ One-cloud master သည် M1 သည် လုံသဝပျက်ကလက်သလာသသည်ဟူသော ယူဆချက်အပေါ် ယခုလုပ်ဆောင်မည်ဖဌစ်သည်။ ဆိုလိုသည်မဟာ၊ ၎င်သသည် M2 minion အာသစတင်ရန်အမိန့်ပေသလိမ့်မည်။ web.group1.web.front.prod တူညီသောလိပ်စာ 1.1.1.1 နဟင့်။ ယခု ကျလန်ုပ်တို့တလင် 1.1.1.1 အတလက် ကလန်ရက်ပေါ်တလင် ကလဲလလဲနေသောလမ်သကဌောင်သနဟစ်ခုရဟိသည်- M1 နဟင့် M2 တလင်ရဟိသည်။ ထိုသို့သောပဋိပက္ခမျာသကိုဖဌေရဟင်သရန်အတလက် BGP ကဌေညာချက်တလင်ဖော်ပဌထာသသည့် Multi Exit Discriminator ကို ကျလန်ုပ်တို့အသုံသပဌုပါသည်။ ၎င်သသည် ကဌော်ငဌာလမ်သကဌောင်သ၏ အလေသချိန်ကို ပဌသသည့် နံပါတ်တစ်ခုဖဌစ်သည်။ ကလဲလလဲနေသောလမ်သကဌောင်သမျာသကဌာသတလင်၊ MED တန်ဖိုသနိမ့်သောလမ်သကဌောင်သကို ရလေသချယ်မည်ဖဌစ်သည်။ one-cloud master သည် container IP လိပ်စာမျာသ၏ အဓိကအစိတ်အပိုင်သအဖဌစ် MED ကို ပံ့ပိုသပေသသည်။ ပထမအကဌိမ်တလင်၊ လိပ်စာကို လုံလောက်သောကဌီသမာသသော MED = 1 ဖဌင့်ရေသထာသသည်။ ထိုကဲ့သို့သောအရေသပေါ်ကလန်တိန်နာလလဟဲပဌောင်သမဟုအခဌေအနေတလင်၊ မာစတာသည် MED ကိုလျဟော့ချလိုက်ပဌီသ M000 သည် လိပ်စာ 000 ကို MED = ဖဌင့် ကဌော်ငဌာရန် အမိန့်စာကို လက်ခံရရဟိပဌီသဖဌစ်သည်။ 2။ M1.1.1.1 တလင် လုပ်ဆောင်နေသည့် ဥပမာသည် ကကိစ္စတလင် ဆက်နလဟယ်မဟုမရဟိဘဲ ဆက်ရဟိနေမည်ဖဌစ်ပဌီသ၊ သခင်နဟင့် ဆက်သလယ်မဟု ပဌန်လည်မရရဟိမီအထိ သူ၏ နောက်ထပ်ကံကဌမ္မာက ကျလန်ုပ်တို့အာသ အနည်သငယ်သာ စိတ်ဝင်စာသပါသည်။

မတော်တဆမဟု

ဒေတာစင်တာ စီမံခန့်ခလဲမဟုစနစ်မျာသအာသလုံသသည် သေသငယ်သော ချို့ယလင်သချက်မျာသကို အမဌဲလက်ခံနိုင်ဖလယ်ရဟိသည်။ ကလန်တိန်နာလျဟံမဟုသည် နေရာတိုင်သလိုလိုတလင် ပုံမဟန်ဖဌစ်သည်။

ဒေတာစင်တာတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောအခန်သမျာသတလင် လျဟပ်စစ်ဓာတ်အာသချို့ယလင်သမဟုကဲ့သို့သော အရေသပေါ်အခဌေအနေတစ်ခုကို ကျလန်ုပ်တို့ကိုင်တလယ်ပုံကို ကဌည့်ကဌပါစို့။

မတော်တဆမဟုတစ်ခုသည် ဒေတာစင်တာစီမံခန့်ခလဲမဟုစနစ်အတလက် ဘာကိုဆိုလိုသနည်သ။ ပထမညသစလာ၊ ၎င်သသည် စက်မျာသစလာ၏ တစ်ကဌိမ်တည်သ ပျက်ကလက်မဟုဖဌစ်ပဌီသ ထိန်သချုပ်မဟုစနစ်သည် ကလန်တိန်နာအမျာသအပဌာသကို တစ်ချိန်တည်သတလင် ရလဟေ့ပဌောင်သရန် လိုအပ်သည်။ သို့သော် ဘေသအန္တရာယ်သည် အလလန်ကဌီသမာသပါက၊ ဒေတာစင်တာ၏ အရင်သအမဌစ်စလမ်သရည်သည် ဝန်၏ 100% အောက်တလင် ကျဆင်သသလာသသောကဌောင့် အလုပ်အာသလုံသကို အခဌာသ minions မျာသသို့ ပဌန်လည်ခလဲဝေမပေသနိုင်ခဌင်သ ဖဌစ်နိုင်ပါသည်။

မကဌာခဏ မတော်တဆမဟုမျာသသည် ထိန်သချုပ်မဟုအလလဟာ၏ ချို့ယလင်သမဟုကဌောင့် လိုက်ပါသလာသတတ်သည်။ ၎င်သ၏စက်ကိရိယာမျာသ ချို့ယလင်သမဟုကဌောင့် ဖဌစ်ပလာသနိုင်သော်လည်သ မတော်တဆမဟုမျာသအာသ စမ်သသပ်စစ်ဆေသခဌင်သမရဟိသည့်အချက်ကဌောင့် မကဌာခဏဆိုသလို ပိုမျာသလာပဌီသ ထိန်သချုပ်မဟုအလလဟာသည် ဝန်တိုသလာမဟုကဌောင့် ပဌုတ်ကျတတ်သည်။

ဒါတလေအာသလုံသအတလက် မင်သဘာလုပ်နိုင်လဲ။

အစုလိုက်အပဌုံလိုက် ရလဟေ့ပဌောင်သမဟုမျာသသည် အခဌေခံအဆောက်အအုံမျာသတလင် လဟုပ်ရဟာသမဟုမျာသ၊ ရလဟေ့ပဌောင်သခဌင်သနဟင့် ဖဌန့်ကျက်မဟု အမျာသအပဌာသရဟိနေသည်ဟု ဆိုလိုသည်။ ရလဟေ့ပဌောင်သခဌင်သတစ်ခုစီသည် minions မျာသသို့ ကလန်တိန်နာပုံမျာသကို ပို့ဆောင်ရန်နဟင့် ထုပ်ပိုသရန် လိုအပ်သည့်အချိန်အနည်သငယ်ကဌာနိုင်သည်။ ထို့ကဌောင့်၊ အရေသမကဌီသသည့်အရာမျာသမတိုင်မီ ပိုမိုအရေသကဌီသသောအလုပ်မျာသကို စတင်လုပ်ဆောင်ရန် လိုလာသပါသည်။

ကျလန်ုပ်တို့နဟင့် အကျလမ်သတဝင်ရဟိသော ဝန်ဆောင်မဟုမျာသ၏ အထက်တန်သအဆင့်ကို ထပ်မံကဌည့်ရဟုပဌီသ မည်သည့်အလုပ်မျာသကို ညသစလာလုပ်ဆောင်လိုကဌောင်သ ဆုံသဖဌတ်ရန် ကဌိုသစာသကဌပါစို့။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

ဟုတ်ပါတယ်၊ ဒါတလေက သုံသစလဲသူတလေရဲ့ တောင်သဆိုချက်တလေကို လုပ်ဆောင်ရာမဟာ တိုက်ရိုက်ပါဝင်နေတဲ့ လုပ်ငန်သစဉ်တလေ ဖဌစ်တဲ့ ထုတ်ကုန်တလေပါ။ ဒါကို ကျလန်တော်တို့ ညလဟန်ပဌတယ်။ နေရာချထာသမဟုညသစာသပေသ - တန်သစီရန် သတ်မဟတ်နိုင်သော နံပါတ်တစ်ခု။ တန်သစီခဌင်သတလင် ပိုမိုညသစာသပေသပါက၊ ၎င်သ၏ဝန်ဆောင်မဟုမျာသကို ညသစလာညသစာသပေသပါသည်။

ထုတ်ကုန်တလင် ကျလန်ုပ်တို့သည် ပိုမိုမဌင့်မာသသောညသစာသပေသမျာသကို သတ်မဟတ်ပေသသည်၊ 0; on batch - အနည်သငယ်နိမ့်, 100; on idle - 200 ပိုနိမ့်သည်။ ညသစာသပေသမျာသကို အထက်တန်သကျကျ အသုံသချသည်။ အထက်အောက်အဆင့်ရဟိ လုပ်ဆောင်စရာမျာသအာသလုံသ သက်ဆိုင်သော ညသစာသပေသတစ်ခု ရဟိပါမည်။ prod အတလင်သရဟိ ကက်ရဟ်မျာသကို ရဟေ့တန်သမတင်မီ လလဟင့်တင်လိုပါက၊ ထို့နောက် ကျလန်ုပ်တို့သည် cache = 0 နဟင့် ရဟေ့ပိုင်သစာရင်သခလဲမျာသ = 1 သို့ ညသစာသပေသမျာသ သတ်မဟတ်ပေသထာသသည်။ ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ပင်မပေါ်တယ်ကို ရဟေ့ဆုံသမဟဖလင့်လိုလျဟင်၊ ဂီတရဟေ့တလင်သာ၊ ထို့နောက် 10 တလင် အောက်ညသစာသပေသကို သတ်မဟတ်နိုင်သည်။

နောက်ပဌဿနာက အရင်သအမဌစ် ချို့တဲ့မဟုပါ။ ထို့ကဌောင့်၊ စက်ကိရိယာ အမျာသအပဌာသ၊ ဒေတာစင်တာ၏ ခန်သမတစ်ခုလုံသ မအောင်မဌင်သဖဌင့် လူတိုင်သအတလက် အရင်သအမဌစ်မျာသ မလုံလောက်တော့သည့် ဝန်ဆောင်မဟုမျာသစလာကို ပဌန်လည်စတင်လိုက်ပါသည်။ အဓိက အရေသကဌီသသော ဝန်ဆောင်မဟုမျာသ ဆက်လက်လည်ပတ်နိုင်ရန် မည်သည့်တာဝန်မျာသကို စလန့်လလဟတ်ရမည်ကို သင်ဆုံသဖဌတ်ရန် လိုအပ်သည်။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

နေရာချထာသမဟုညသစာသပေသနဟင့်မတူဘဲ၊ ကျလန်ုပ်တို့သည် အစုလိုက်လုပ်ဆောင်စရာမျာသအာသလုံသကို ခလဲခဌာသ၍မရပါ၊ ၎င်သတို့ထဲမဟ အချို့သည် ပေါ်တယ်၏လည်ပတ်မဟုအတလက် အရေသကဌီသပါသည်။ ထို့ကဌောင့် ကျလန်ုပ်တို့ သီသခဌာသ မီသမောင်သထိုသပဌထာသသည်။ ကဌိုတင်ကာကလယ်မဟုညသစာသပေသ လုပ်ငန်သတာဝန်မျာသ။ နေရာချထာသသည့်အခါ၊ ပိုမိုသော ညသစာသပေသလုပ်ဆောင်စရာတစ်ခုသည် အခမဲ့ minions မျာသမရဟိတော့ပါက၊ ဆိုလိုသည်မဟာ ရပ်ရန်၊ ညသစာသပေသလုပ်ဆောင်ရမည့် နိမ့်ကျသောလုပ်ငန်သကို ကဌိုတင်ပဌင်ဆင်နိုင်ပါသည်။ ကအခဌေအနေတလင်၊ ညသစာသပေသမဟုနည်သသော အလုပ်တစ်ခုသည် နေရာမရဟိနိုင်တော့ပေ၊ ဆိုလိုသည်မဟာ လုံလောက်သောအခမဲ့အရင်သအမဌစ်မျာသရဟိသည့် ၎င်သအတလက် သင့်လျော်သော minion ရဟိတော့မည်မဟုတ်ပါ။

ကျလန်ုပ်တို့၏ အထက်တန်သအဆင့်တလင်၊ prod နဟင့် batch အလုပ်မျာသကို ကဌိုတင်ပဌင်ဆင်ခဌင်သ သို့မဟုတ် idle အလုပ်မျာသကို ညသစာသပေသခဌင်သ 200 နဟင့် ညီသော idle အတလက် ညသစာသပေသသတ်မဟတ်ခဌင်သဖဌင့် သတ်မဟတ်ခဌင်သမဟာ အလလန်ရိုသရဟင်သပါသည်။ နေရာချထာသမဟု ညသစာသပေသကိစ္စတလင်လည်သ ကျလန်ုပ်တို့ကဲ့သို့ပင်၊ ပိုမိုရဟုပ်ထလေသသော စည်သမျဉ်သမျာသကို ဖော်ပဌရန်အတလက် ကျလန်ုပ်တို့၏ အထက်တန်သကို အသုံသပဌုနိုင်သည်။ ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ပင်မဝဘ်ပေါ်တယ်အတလက် အရင်သအမဌစ်မျာသ အလုံအလောက်မရဟိပါက ဂီတလုပ်ဆောင်ချက်ကို စလန့်လလဟတ်ကဌောင်သ ညလဟန်ပဌကဌပါစို့။

DC မတော်တဆမဟုတစ်ခုလုံသ

ဒေတာစင်တာတစ်ခုလုံသ ဘာကဌောင့်ပျက်သလာသနိုင်တာလဲ။ ဒဌပ်။ ပို့စ်ကောင်သတစ်ခု ဖဌစ်ခဲ့ပါတယ်။ ဟာရီကိန်သသည် ဒေတာစင်တာ၏ လုပ်ငန်သကို ထိခိုက်ခဲ့သည်။. ဒဌပ်စင်မျာသကို အရံတလင်သရဟိ optics မျာသကို တစ်ကဌိမ်မီသရဟို့ပဌီသ ဒေတာစင်တာသည် အခဌာသဆိုက်မျာသနဟင့် လုံသဝအဆက်အသလယ်ပဌတ်သလာသသော အိုသမဲ့အိမ်မဲ့မျာသဟု ယူဆနိုင်သည်။ ချို့ယလင်သရခဌင်သ၏ အကဌောင်သရင်သမဟာ လူ့အချက်တစ်ခုလည်သ ဖဌစ်နိုင်သည်- အော်ပရေတာသည် ဒေတာစင်တာတစ်ခုလုံသ ပဌိုလဲသလာသမည့် ထိုကဲ့သို့သော အမိန့်ကို ထုတ်ပဌန်မည်ဖဌစ်သည်။ ကဌီသမာသတဲ့ bug တစ်ခုကဌောင့် ဖဌစ်နိုင်ပါတယ်။ ယေဘုယျအာသဖဌင့် ဒေတာစင်တာမျာသ ပဌိုကျခဌင်သသည် အဆန်သမဟုတ်ပါ။ ကအရာသည် ကျလန်ုပ်တို့အတလက် လအနည်သငယ်လျဟင် တစ်ကဌိမ်ဖဌစ်သည်။

မည်သူ့ကိုမဟ tweeting ခဌင်သမဟ #alive မဟ တာသဆီသရန် ကအရာသည် ကျလန်ုပ်တို့လုပ်ဆောင်သည်။

ပထမနည်သဗျူဟာမဟာ အထီသကျန်ခဌင်သ ဖဌစ်သည်။ cloud instance တစ်ခုစီကို သီသခဌာသခလဲထာသပဌီသ ဒေတာစင်တာတစ်ခုတလင်သာ စက်မျာသကို စီမံခန့်ခလဲနိုင်သည်။ ဆိုလိုသည်မဟာ၊ ချို့ယလင်သချက်မျာသ သို့မဟုတ် မမဟန်ကန်သော အော်ပရေတာအမိန့်မျာသကဌောင့် cloud ဆုံသရဟုံသမဟုသည် ဒေတာစင်တာတစ်ခုသာ ဆုံသရဟုံသခဌင်သဖဌစ်သည်။ ကအတလက် ကျလန်ုပ်တို့ အဆင်သင့်ဖဌစ်နေပါပဌီ- ကျလန်ုပ်တို့တလင် အပလီကေသရဟင်သ၏ပုံတူမျာသနဟင့် ဒေတာမျာသကို ဒေတာစင်တာအာသလုံသတလင် တည်ရဟိသည့် ထပ်လောင်သမူဝါဒတစ်ခုရဟိသည်။ ကျလန်ုပ်တို့သည် အမဟာသ-ခံနိုင်ရည်ရဟိသော ဒေတာဘေ့စ်မျာသကို အသုံသပဌုပဌီသ မအောင်မဌင်မဟုမျာသကို အခါအာသလျော်စလာ စမ်သသပ်ပါသည်။
ယနေ့မဟစ၍ ကျလန်ုပ်တို့တလင် ဒေတာစင်တာ လေသခုရဟိသည်၊ ဆိုလိုသည်မဟာ cloud တစ်ခုတည်သ၏ သီသခဌာသ၊ လုံသဝအထီသကျန်သည့် ဖဌစ်ရပ်လေသခုကို ဆိုလိုသည်။

ကနည်သလမ်သသည် ရုပ်ပိုင်သဆိုင်ရာချို့ယလင်သမဟုမဟ ကာကလယ်ပေသရုံသာမက အော်ပရေတာအမဟာသကိုလည်သ ကာကလယ်နိုင်သည်။

လူ့အချက်ဖဌင့် အခဌာသမည်သည့်အရာမျာသ လုပ်ဆောင်နိုင်မည်နည်သ။ အော်ပရေတာတစ်ခုသည် cloud အာသ ထူသဆန်သသော သို့မဟုတ် အန္တရာယ်ဖဌစ်နိုင်ချေရဟိသော အမိန့်ပေသသောအခါ၊ သူမည်မျဟကောင်သသည်ကိုမဌင်ရန် ပဌဿနာသေသသေသလေသအာသ ဖဌေရဟင်သပေသရန် ရုတ်တရက် တောင်သဆိုခံရပေမည်။ ဥပမာအာသဖဌင့်၊ ကအရာသည် ပုံတူမျာသစလာ၏အစုလိုက်အပဌုံလိုက်ရပ်တန့်ခဌင်သ သို့မဟုတ် ထူသဆန်သသောအမိန့်တစ်ခုသာဖဌစ်ပါက၊ ပုံတူအရေအတလက်ကိုလျဟော့ချခဌင်သ သို့မဟုတ် ပုံ၏အမည်ကိုပဌောင်သလဲခဌင်သ၊ မန်နီသဖက်စ်အသစ်ရဟိ ဗာသရဟင်သနံပါတ်သာမကဘဲ ဗာသရဟင်သနံပါတ်ကိုပါ ဥပမာပေသပါမည်။

One-cloud - Odnoklassniki ရဟိ ဒေတာစင်တာအဆင့် OS

ရလဒ်မျာသကို

one-cloud ၏ထူသခဌာသသောအင်္ဂါရပ်မျာသ

  • ဝန်ဆောင်မဟုမျာသနဟင့် ကလန်တိန်နာမျာသအတလက် အထက်အောက်နဟင့် အမဌင်အာရုံအမည်ပေသခဌင်သ အစီအစဉ်၎င်သသည် သင့်အာသ အလုပ်ဟူသည် အဘယ်အရာ၊ ၎င်သနဟင့်သက်ဆိုင်ကဌောင်သ၊ ၎င်သနဟင့်မည်ကဲ့သို့လုပ်ဆောင်ကဌောင်သ၊ ၎င်သအတလက် မည်သူမဟာ တာဝန်ရဟိသည်ကို အမဌန်ရဟာဖလေနိုင်စေပါသည်။
  • ငါတို့က ငါတို့ကို အသုံသချတယ်။ prod- နဟင့် batch- ပေါင်သစပ်နည်သပညာစက်မျဟဝေခဌင်သ၏ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန်အတလက် minions မျာသပေါ်တလင် အလုပ်မျာသ။ cpuset အစာသ ကျလန်ုပ်တို့သည် CPU ခလဲတမ်သမျာသ၊ မျဟဝေမဟုမျာသ၊ CPU အချိန်ဇယာသဆလဲမဟုမူဝါဒမျာသနဟင့် Linux QoS ကိုအသုံသပဌုသည်။
  • စက်တစ်ခုတည်သတလင်လည်ပတ်နေသောကလန်တိန်နာမျာသကို လုံသဝခလဲထုတ်ရန်မဖဌစ်နိုင်သော်လည်သ ၎င်သတို့၏ အပဌန်အလဟန်လလဟမ်သမိုသမဟုမဟာ 20% အတလင်သ ရဟိနေပါသည်။
  • ဝန်ဆောင်မဟုမျာသကို အထက်တန်သအဆင့်သို့ စုစည်သခဌင်သသည် အလိုအလျောက် ဘေသဥပဒ်ပဌန်လည်ရယူခဌင်သကို အသုံသပဌုခဌင်သဖဌင့် ကူညီပေသပါသည်။ နေရာချထာသမဟုနဟင့် ကဌိုတင်ပဌင်ဆင်မဟုညသစာသပေသမျာသ.

အမဌဲမေသလေ့ရဟိသောမေသခလန်သမျာသ

အဆင်သင့်လုပ်ထာသတဲ့ ဖဌေရဟင်သချက် ဘာကဌောင့် မရရဟိခဲ့တာလဲ။

  • အလုပ်တစ်ခုကို သီသခဌာသခလဲထုတ်ခဌင်သ၏ မတူညီသော အတန်သအစာသမျာသသည် minions မျာသပေါ်တလင် နေရာချသည့်အခါ မတူညီသော ယုတ္တိဗေဒ လိုအပ်ပါသည်။ အရင်သအမဌစ်မျာသကို သိမ်သဆည်သထာသရုံဖဌင့် ပရော့ဒ်အလုပ်မျာသကို ထာသရဟိနိုင်ပါက၊ minion စက်မျာသတလင် အရင်သအမဌစ်မျာသ၏ အမဟန်တကယ် အသုံသချမဟုကို ခဌေရာခံကာ batch နဟင့် idle task မျာသကို ထာသရဟိရပါမည်။
  • လုပ်ငန်သတာဝန်မျာသမဟ သုံသစလဲသောအရင်သအမဌစ်မျာသကို ထည့်သလင်သစဉ်သစာသရန် လိုအပ်သည်-
    • ကလန်ရက် bandwidth;
    • အမျိုသအစာသမျာသနဟင့် disks မျာသ၏ "spindles" ။
  • အရေသပေါ်တုံ့ပဌန်မဟုအတလင်သ ဝန်ဆောင်မဟုမျာသ၏ ညသစာသပေသမျာသကို ညလဟန်ပဌရန် လိုအပ်မဟု၊ အရင်သအမဌစ်မျာသအတလက် ကန့်သတ်ချက်မျာသအတလက် လုပ်ပိုင်ခလင့်မျာသနဟင့် ဒေတာမျာသကို cloud တစ်ခုတည်သတလင် အထက်တန်သကျသော စီတန်သမျာသကို အသုံသပဌု၍ ဖဌေရဟင်သထာသသည်။
  • မတော်တဆမဟုမျာသနဟင့် အဖဌစ်အပျက်မျာသအတလက် တုံ့ပဌန်မဟုအချိန်ကို လျဟော့ချရန်အတလက် ကလန်တိန်နာမျာသကို လူအမည်ပေသရန်လိုအပ်သည်။
  • Service Discovery ကို တစ်ကဌိမ်သာ ကျယ်ပဌန့်စလာ အကောင်အထည်ဖော်ရန် မဖဌစ်နိုင်ခဌင်သ၊ ဟာ့ဒ်ဝဲ တန်ဆာပလာမျာသပေါ်တလင် လုပ်ဆောင်သည့် အလုပ်မျာသနဟင့် အချိန်ကဌာမဌင့်စလာ အတူယဟဉ်တလဲနေထိုင်ရန် လိုအပ်သည် - ကလန်တိန်နာမျာသအောက်ရဟိ "static" IP လိပ်စာမျာသက ဖဌေရဟင်သပေသသည့် အရာဖဌစ်ပဌီသ အကျိုသဆက်အနေဖဌင့် ကဌီသမာသသော ကလန်ရက်အခဌေခံအဆောက်အအုံနဟင့် ထူသခဌာသသောပေါင်သစည်သမဟု လိုအပ်သည်။

ကလုပ်ငန်သဆောင်တာမျာသအာသလုံသသည် ကျလန်ုပ်တို့နဟင့်ကိုက်ညီရန် ရဟိပဌီသသာသဖဌေရဟင်သချက်မျာသကို သိသာထင်ရဟာသစလာ ပဌုပဌင်မလမ်သမံမဟုမျာသ လိုအပ်မည်ဖဌစ်ပဌီသ အလုပ်ပမာဏကို အကဲဖဌတ်ခဌင်သဖဌင့် ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ဖဌေရဟင်သချက်ကို ခန့်မဟန်သခဌေအာသဖဌင့် တူညီသောအလုပ်သမာသကုန်ကျစရိတ်ဖဌင့် တီထလင်နိုင်သည်ကို ကျလန်ုပ်တို့ သဘောပေါက်ပါသည်။ သို့သော် သင့်ဖဌေရဟင်သချက်သည် လုပ်ဆောင်ရန်နဟင့် ဖလံ့ဖဌိုသတိုသတက်ရန် ပိုမိုလလယ်ကူလိမ့်မည် - ၎င်သတလင် ကျလန်ုပ်တို့မလိုအပ်သော လုပ်ဆောင်နိုင်စလမ်သကို ပံ့ပိုသပေသသည့် မလိုအပ်သော abstract မျာသ မပါဝင်ပါ။

နောက်ဆုံသစာကဌောင်သမျာသကို ဖတ်ရဟုပေသသူမျာသအာသ စိတ်ရဟည်သည်သခံပဌီသ အာရုံစိုက်ပေသသည့်အတလက် ကျေသဇူသတင်ပါသည်။

source: www.habr.com

မဟတ်ချက် Add