Qrator filtering network configuration management စနစ်

Qrator filtering network configuration management စနစ်

TL; DR: ကျလန်ုပ်တို့၏အတလင်သပိုင်သကလန်ရက်ဖလဲ့စည်သပုံပဌင်ဆင်မဟုစီမံခန့်ခလဲမဟုစနစ် QControl ၏ client-ဆာဗာဗိသုကာ၏ဖော်ပဌချက်။ ၎င်သသည် endpoints မျာသကဌာသတလင် ချုံ့ခဌင်သမရဟိဘဲ gzip ထုပ်ပိုသထာသသော မက်ဆေ့ချ်မျာသနဟင့် အလုပ်လုပ်သော အလလဟာနဟစ်လလဟာ သယ်ယူပို့ဆောင်ရေသပရိုတိုကောကို အခဌေခံထာသသည်။ ဖဌန့်ဝေထာသသော routers မျာသနဟင့် endpoints မျာသသည် configuration updates မျာသကို လက်ခံရရဟိကဌပဌီသ protocol ကိုယ်တိုင်က localized intermediate relays မျာသ တပ်ဆင်ခဌင်သကို ခလင့်ပဌုပါသည်။ စနစ်သည် နိယာမပေါ်တလင် တည်သည်။ ကလဲပဌာသသော အရန်သိမ်သဆည်သခဌင်သ။ (“လတ်တလော တည်ငဌိမ်သော”၊ အောက်တလင် ရဟင်သပဌထာသသည်) နဟင့် ဖလဲ့စည်သမဟုဖိုင်မျာသကို တင်ဆက်ရန်အတလက် JMESpath query language ကို Jinja templateing engine နဟင့်အတူ အသုံသပဌုပါသည်။

Qrator Labs သည် ကမ္ဘာလုံသဆိုင်ရာ ဖဌန့်ဝေတိုက်ခိုက်မဟု လျဟော့ချရေသကလန်ရက်ကို လုပ်ဆောင်ပါသည်။ ကျလန်ုပ်တို့၏ကလန်ရက်သည် anycast မူအရ လုပ်ဆောင်နေပဌီသ subnet မျာသကို BGP မဟတစ်ဆင့် ကဌော်ငဌာထာသသည်။ ကမ္ဘာမဌေ၏ ဒေသအမျာသအပဌာသတလင် တည်ရဟိနေသည့် BGP ကလန်ရက်တစ်ခုဖဌစ်သည့်အတလက်၊ ကျလန်ုပ်တို့သည် အင်တာနက်၏ အူတိုင်ဖဌစ်သော Tier-1 အော်ပရေတာမျာသနဟင့် တရာသမ၀င်အသလာသအလာမျာသကို လုပ်ဆောင်နိုင်ပဌီသ စစ်ထုတ်နိုင်ပါသည်။

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

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


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

ရလဒ်အနေဖဌင့်၊ ကျလန်ုပ်တို့သည် အောက်ပါအစီအစဥ်ကို အကောင်အထည်ဖော်ခဲ့ပါသည်။
Qrator filtering network configuration management စနစ်
configuration server သည် data validation နဟင့် storage အတလက် တာဝန်ရဟိသည်၊ router တလင် clients နဟင့် support teams မျာသမဟ configuration updates မျာသကို server သို့ လက်ခံကာ ထုတ်လလဟင့်သည့် endpoints အမျာသအပဌာသရဟိပဌီသ server မဟ server မဟ တည်ရဟိနေသော point မျာသအထိ ရဟိပါသည်။

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

Qrator filtering network configuration management စနစ်
Prague မဟ Singapore သို့ MTR

Qrator filtering network configuration management စနစ်
ဟောင်ကောင်မဟာလည်သ အလာသတူပါပဲ။

High latency ဆိုသည်မဟာ အရဟိန်နိမ့်သည်။ ထို့အပဌင် packet ဆုံသရဟုံသမဟုလည်သ ရဟိပါသည်။ ဗဟိုချုပ်ကိုင်မဟုလျဟော့ချထာသသော စနစ်မျာသကို တည်ဆောက်သည့်အခါ အမဌဲတမ်သထည့်သလင်သစဉ်သစာသရမည့် ကပဌဿနာအတလက် ချန်နယ်အကျယ်သည် လျော်ကဌေသမပေသပေ။

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

မကဌာသေသမီက တည်ငဌိမ်သော ဒီဇိုင်သ

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

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

ကျန်ရဟိနေသေသသည်မဟာ မကဌာသေသမီက ကဌီသမာသလလန်သသောကဌောင့်၊ ဥပမာအာသဖဌင့် လတ်ဆတ်သော တည်ငဌိမ်သော ဖလဲ့စည်သမဟုပုံစံကို အခါအာသလျော်စလာ ပေသပို့ရန် ကျန်ရဟိနေသေသသည်။ ကနေရာ၌လည်သ အရေသကဌီသသည်မဟာ ကျလန်ုပ်တို့သည် လက်ခံသူ တစ်ညသချင်သစီအတလက် စိတ်ပူစရာမလိုဘဲ ကအပ်ဒိတ်မျာသအာသလုံသကို ထုတ်လလဟင့်ခဌင်သ/အမဌောက်အမျာသပေသသည့်မုဒ်တလင် ပေသပို့ခဌင်သနဟင့် ၎င်သတို့၏ ဒေတာအပိုင်သအစမျာသကို စုစည်သနိုင်သည့်စလမ်သရည်ကို စိတ်ပူစရာမလိုဘဲ ပေသပို့ခဌင်သဖဌစ်ပါသည်။ လူတိုင်သတလင် မဟန်ကန်သောတည်ငဌိမ်မဟုရဟိကဌောင်သ ကျလန်ုပ်တို့သေချာသည်နဟင့်၊ ကျလန်ုပ်တို့သည် လတ်တလောအသစ်မျာသကိုသာ ပေသပို့ပါသည်။ ကအရာသည် အလုပ်လုပ်ကဌောင်သ ရဟင်သရဟင်သလင်သလင်သ သိထိုက်ပါသလာသ။ အလုပ်မျာသ။ Stable ကို configuration server နဟင့် လက်ခံသူမျာသတလင် ကက်ရဟ်လုပ်ထာသပဌီသ မကဌာသေသမီက လိုအပ်သလို ဖန်တီသထာသသည်။

နဟစ်ဆင့် သယ်ယူပို့ဆောင်ရေသ ဗိသုကာ

ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏သယ်ယူပို့ဆောင်ရေသကို အဘယ်ကဌောင့် အဆင့်နဟစ်ဆင့်ဖဌင့် တည်ဆောက်ခဲ့သနည်သ။ အဖဌေက တော်တော်ရိုသရဟင်သပါတယ် - ကျလန်ုပ်တို့သည် OSI မော်ဒယ်မဟ လဟုံ့ဆော်မဟုရယူပဌီသ ၎င်သ၏သယ်ယူပို့ဆောင်ရေသနဟင့် အပလီကေသရဟင်သအလလဟာမျာသဖဌင့် အဆင့်မဌင့်မာသသော ယုတ္တိဗေဒမဟ လမ်သကဌောင်သကို ခလဲထုတ်လိုပါသည်။ ကျလန်ုပ်တို့သည် သယ်ယူပို့ဆောင်ရေသပရိုတိုကော၏အခန်သကဏ္ဍအတလက် Thrift နဟင့် ထိန်သချုပ်မဟုမက်ဆေ့ခ်ျ၏အဆင့်မဌင့်ဖော်မတ်အတလက် msgpack နံပါတ်စဉ်ဖော်မတ်ကို အသုံသပဌုထာသသည်။ ထို့ကဌောင့် router (Multicast/broadcast/relay) သည် msgpack အတလင်သကို မကဌည့်ဘဲ၊ အကဌောင်သအရာမျာသကို ပဌန်ဖလင့်ခဌင်သ သို့မဟုတ် ထုပ်ပိုသခဌင်သမပဌုဘဲ ဒေတာမျာသကိုသာ ပေသပို့ခဌင်သဖဌစ်သည်။

Thrift (အင်္ဂလိပ်မဟ - “thrift” ဟု အသံထလက်သော [Ξrift]) သည် မတူညီသော ပရိုဂရမ်သမင်သဘာသာစကာသမျာသအတလက် ဝန်ဆောင်မဟုမျာသကို သတ်မဟတ်ရန်နဟင့် ဖန်တီသရန် အသုံသပဌုသည့် ကဌာသခံဖော်ပဌချက်ဘာသာစကာသတစ်ခုဖဌစ်သည်။ ၎င်သသည် အဝေသထိန်သစနစ်ခေါ်ဆိုမဟု (RPC) အတလက် မူဘောင်တစ်ခုဖဌစ်သည်။ ဘာသာစကာသမျာသအကဌာသ ပိုမိုထိရောက်ပဌီသ လလယ်ကူစလာ လုပ်ဆောင်နိုင်သော ဝန်ဆောင်မဟုမျာသကို ဖလံ့ဖဌိုသတိုသတက်စေရန် ဆော့ဖ်ဝဲပိုက်လိုင်သတစ်ခုအာသ ကုဒ်ထုတ်လုပ်သည့်အင်ဂျင်နဟင့် ပေါင်သစပ်ထာသသည်။

RPC နဟင့် ဘာသာစကာသမျာသစလာအတလက် ပံ့ပိုသမဟုမျာသကဌောင့် Thrift မူဘောင်ကို ရလေသချယ်ခဲ့သည်။ ထုံသစံအတိုင်သ၊ လလယ်ကူသော အစိတ်အပိုင်သမျာသသည် client နဟင့် server တို့ဖဌစ်သည်။ သို့သော်လည်သ၊ router သည် ကျလန်ုပ်တို့၏ဖလံ့ဖဌိုသတိုသတက်မဟုကာလအတလင်သ အဆင်သင့်လုပ်ထာသသောဖဌေရဟင်သချက်မရဟိခဌင်သကဌောင့် တစ်စိတ်တစ်ပိုင်သအာသဖဌင့် အက်ကလဲရန်ခက်ခဲသောအခလံတစ်ခုဖဌစ်လာခဲ့သည်။

Qrator filtering network configuration management စနစ်protobuf / gRPC ကဲ့သို့သော အခဌာသရလေသချယ်စရာမျာသ ရဟိသည်၊ သို့သော် ကျလန်ုပ်တို့၏ပရောဂျက်ကို စတင်သောအခါ၊ gRPC သည် အလလန်သစ်လလင်ပဌီသ ၎င်သကို ကျလန်ုပ်တို့ မယူဝံ့ပါ။

ဟုတ်ပါတယ်၊ ငါတို့ (တကယ်တော့ ရဟိသင့်တယ်) ငါတို့ကိုယ်ပိုင်စက်ဘီသကို ဆောက်နိုင်ခဲ့တယ်။ Client-Server Architecture သည် Thrift တလင် Router တစ်ခုတည်ဆောက်ခဌင်သနဟင့် နဟိုင်သယဟဉ်ပါက ကျလန်ုပ်တို့လိုအပ်သောအရာအတလက် ပရိုတိုကောတစ်ခုဖန်တီသရန် ပိုမိုလလယ်ကူမည်ဖဌစ်သည်။ တစ်နည်သမဟုတ်တစ်နည်သ၊ ကိုယ်တိုင်ရေသထာသသော ပရိုတိုကောမျာသနဟင့် လူကဌိုက်မျာသသော စာကဌည့်တိုက်မျာသ၏ အကောင်အထည်ဖော်မဟုမျာသအပေါ် အစဉ်အလာ ဘက်လိုက်မဟုမျာသ ရဟိနေသည် (အကဌောင်သပဌချက်ကောင်သကဌောင့်)၊ ထို့အပဌင် ဆလေသနလေသမဟုမျာသအတလင်သ မေသခလန်သတစ်ခု အမဌဲပေါ်လာသည်- "ကအရာကို အခဌာသဘာသာစကာသသို့ မည်ကဲ့သို့ ပို့ရမည်နည်သ။" ဒါနဲ့ ကျလန်တော်တို့ ချက်ချင်သ စက်ဘီသစီသဖို့ စိတ်ကူသကို ထုတ်လိုက်တယ်။

Msgpack သည် JSON နဟင့် ဆင်တူသော်လည်သ ပိုမဌန်ပဌီသ ပိုသေသငယ်သည်။ ၎င်သသည် ဒေတာမျာသကို ဘာသာစကာသမျာသစလာအကဌာသ ဖလဟယ်နိုင်စေမည့် ဒလိဒေတာ အမဟတ်စဉ်ဖော်မတ်တစ်ခုဖဌစ်သည်။

ပထမအဆင့်တလင် မက်ဆေ့ချ်ပေသပို့ရန် router အတလက် လိုအပ်သော အနိမ့်ဆုံသအချက်အလက်မျာသနဟင့်အတူ Thrift ရဟိသည်။ ဒုတိယအဆင့်တလင် ထုပ်ပိုသထာသသော msgpack ဖလဲ့စည်သပုံမျာသရဟိသည်။

JSON ထက်စာရင် ပိုမဌန်ပဌီသ ပိုကျစ်လစ်တဲ့အတလက် msgpack ကို ရလေသချယ်ခဲ့ပါတယ်။ သို့သော် ပို၍အရေသကဌီသသည်မဟာ၊ ၎င်သသည် ကျလန်ုပ်တို့၏ "လတ်တလောတည်ငဌိမ်သော" အစီအစဉ်အတလက် အရေသကဌီသသော ဒေတာမရဟိခဌင်သကို ညလဟန်ပဌသည့် အကဌမ်သ binaries သို့မဟုတ် အထူသအရာဝတ္ထုမျာသကို ဖဌတ်သန်သခဌင်သကဲ့သို့သော အေသမဌသောအင်္ဂါရပ်မျာသကို အသုံသပဌုနိုင်ရန် စိတ်ကဌိုက်ဒေတာအမျိုသအစာသမျာသကို ပံ့ပိုသပေသပါသည်။

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

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

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

ဥပမာ:

---
selector: "[@][[email protected]._meta.version == `42`] | items([0].fft_config || `{}`)"
destination_filename: "fft/{{ match[0] }}.json"
file_mode: 0644
reload_daemons: [fft] ...
{{ dict(match[1]) | json(indent=2, sort_keys=True) }}

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

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

configuration server နဟင့် configuration လက်ခံသူမျာသအကဌာသ ဆက်သလယ်မဟုကို ရိုသရဟင်သစေရန် မကဌာသေသမီက တည်ငဌိမ်သော အပ်ဒိတ်အစီအစဉ်ကို အသုံသပဌု၍ ကအရာအာသလုံသကို ကျလန်ုပ်တို့ လုပ်ဆောင်နိုင်ခဲ့ပါသည်။ အကဌောင်သအရာ-အမဟီအခိုကင်သသော ဒေတာလမ်သကဌောင်သကို ပံ့ပိုသရန် အလလဟာနဟစ်လလဟာ ပရိုတိုကောကို အသုံသပဌုခဌင်သ။ Jinja-based configuration generation engine ကို ဖဌန့်ဝေထာသသော filtering network တလင် အောင်မဌင်စလာ ပေါင်သစပ်ထာသသည်။ ကစနစ်သည် ကျလန်ုပ်တို့၏ ဖဌန့်ဝေမဟုနဟင့် ကလဲပဌာသနေသော အရံပစ္စည်သမျာသအတလက် ကျယ်ပဌန့်သော ဖလဲ့စည်သမဟုပုံစံမျာသကို ပံ့ပိုသပေသပါသည်။

အကဌောင်သအရာကို ရေသသာသရာတလင် သင်၏အကူအညီအတလက် ကျေသဇူသတင်ပါသည်။ VolanDamrod, serenheit, NoN.

အင်္ဂလိပ်ဗာသရဟင်သ ပို့စ်။

source: www.habr.com

မဟတ်ချက် Add