Dodo IS Architecture ၏သမိုင်သ- Back Office Path

Habr သည် ကမ္ဘာကဌီသကို ပဌောင်သလဲစေသည်။ ဘလော့ဂ်ရေသတာ တစ်နဟစ်ကျော်ပဌီ။ လလန်ခဲ့သည့် ခဌောက်လခန့်က Khabrovsk နေထိုင်သူမျာသထံမဟ ယုတ္တိတန်သော တုံ့ပဌန်ချက်ရရဟိခဲ့သည်- "ဒိုဒို၊ မင်သမဟာ မင်သရဲ့ကိုယ်ပိုင်စနစ်ရဟိတယ်ဆိုတာ နေရာတိုင်သမဟာ ပဌောနေတာ။ ဒါက ဘယ်လိုစနစ်မျိုသလဲ။ ပဌီသတော့ ပီဇာဆိုင်က ဘာကဌောင့် လိုအပ်တာလဲ။”

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

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

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

"Dodo IS ဆိုတာ ဘာလဲ" ဆောင်သပါသစီသရီသမျာသ။ အကဌောင်သပဌောပဌသည်-

  1. Dodo IS (2011-2015) ရဟိ အစောပိုင်သ monolith (ဆောင်ရလက်ဆဲဖဌစ်သည်...)
  2. Backoffice လမ်သကဌောင်သ- သီသခဌာသအခဌေစိုက်စခန်သမျာသနဟင့် ဘတ်စ်ကာသ။ (သင်ဒီမဟာပါ)
  3. ဖောက်သည်ဘက်မဟ လမ်သကဌောင်သ- အောက်ခဌေမျက်နဟာစာ (2016-2017)။ (ဆောင်ရလက်ဆဲဖဌစ်သည်...)
  4. စစ်မဟန်သော microservices မျာသ၏သမိုင်သ။ (၂၀၁၈-၂၀၁၉)။ (ဆောင်ရလက်ဆဲဖဌစ်သည်...)
  5. မော်လီတုံသကို အချောထည်ပဌုလုပ်ပဌီသ ဗိသုကာလက်ရာကို တည်ငဌိမ်အောင်ပဌုလုပ်ပါ။ (ဆောင်ရလက်ဆဲဖဌစ်သည်...)

တခဌာသအရာတလေကို လေ့လာဖို့ စိတ်ဝင်စာသတယ်ဆိုရင် comment မဟာ ရေသခဲ့ပေသပါ။

စာရေသသူ၏ အချိန်နဟင့် တပဌေသညီ ဖော်ပဌချက်အပေါ် ထင်မဌင်ချက်
“စနစ်ဗိသုကာ” ခေါင်သစဉ်ဖဌင့် ဝန်ထမ်သမျာသအသစ်အတလက် အစည်သအဝေသကို ပုံမဟန်ကျင်သပပါသည်။ ၎င်သကို "Intro to Dodo IS Architecture" ဟုခေါ်ပဌီသ ၎င်သသည် developer အသစ်မျာသအတလက် စတင်လုပ်ဆောင်ခဌင်သလုပ်ငန်သစဉ်၏ တစ်စိတ်တစ်ပိုင်သဖဌစ်သည်။ ကျလန်ုပ်တို့၏ဗိသုကာပညာအကဌောင်သ၊ ၎င်သ၏အင်္ဂါရပ်မျာသအကဌောင်သ၊ ပုံစံတစ်မျိုသ သို့မဟုတ် အခဌာသတစ်မျိုသဖဌင့် ပဌောဆိုခဌင်သဖဌင့် ဖော်ပဌချက်အတလက် အချို့သော သမိုင်သဝင်ချဉ်သကပ်မဟုကို တီထလင်ခဲ့သည်။

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

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

2011 ခုနဟစ်တလင် Dodo IS ဗိသုကာလက်ရာသည် ကကဲ့သို့ ဖဌစ်သည်-

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

2020 တလင်၊ ၎င်သသည် အနည်သငယ်ပိုမိုရဟုပ်ထလေသလာပဌီသ ကကဲ့သို့ဖဌစ်လာသည်-

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

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

2016 ၏ပထမဆုံသပဌဿနာမျာသ- ဝန်ဆောင်မဟုမျာသသည် အဘယ်ကဌောင့် monolith ကိုထာသခဲ့သင့်သနည်သ။

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

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

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

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

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

2018 အစောပိုင်သတလင် ပျက်ကျမဟုအခဌေအနေတလင် အခဌေခံနဟင့် monolith ပဌဿနာမျာသကို အကဌိမ်ပေါင်သမျာသစလာ ဖော်ပဌခဲ့ပဌီသဖဌစ်သည်၊ ဥပမာ၊Munch ကဲ့သို့ဖဌစ်စေ သို့မဟုတ် နည်သပညာအကဌလေသအကဌောင်သ စကာသအနည်သငယ်ပဌောပါ။, Dodo IS ရပ်တန့်သည့်နေ့။ အပဌိုင်အဆိုင် ဇာတ်ညလဟန်သ О Phoenix မိသာသစုမဟ Dodo ငဟက်ပုံပဌင်။ Dodo IS ၏ကဌီသစလာသောကျဆုံသခဌင်သ) ဒါကဌောင့် ငါ သိပ်နေမဟာမဟုတ်ဘူသ။ ဝန်ဆောင်မဟုမျာသ ဖော်ဆောင်ရာတလင် ပိုမိုပျော့ပဌောင်သမဟုကို ပေသလိုကဌောင်သ ပဌောပါရစေ။ ပထမညသစလာ၊ ၎င်သသည် စနစ်တစ်ခုလုံသတလင် အမျာသဆုံသတင်ပဌီသ root ဖဌစ်သည့် Auth နဟင့် Tracker နဟင့်သက်ဆိုင်သည်။

Back Office လမ်သကဌောင်သ- သီသခဌာသအခဌေစိုက်စခန်သမျာသနဟင့် ဘတ်စ်ကာသ

အခန်သအညလဟန်သ

  1. ၂၀၁၆ မိုနီတုံသ၏အစီအစဥ်
  2. ကျလန်ုပ်တို့သည် Auth နဟင့် Tracker ကို ပိုင်သခဌာသထာသသော monolith ကို ဖဌုတ်ချရန် စတင်ပါသည်။
  3. Auth ဘာလုပ်သလဲ။
  4. ဝန်တလေ ဘယ်ကလာတာလဲ။
  5. Auth ကို ဖဌုတ်နေသည်
  6. Tracker ဘာလုပ်သလဲ။
  7. ဝန်တလေ ဘယ်ကလာတာလဲ။
  8. Tracker ကို ဖဌုတ်ချခဌင်သ။

၂၀၁၆ မိုနီတုံသ၏အစီအစဥ်

ကသည်မဟာ 2016 Dodo IS monolith ၏ အဓိကလုပ်ကလက်မျာသဖဌစ်ပဌီသ အောက်တလင် ၎င်သတို့၏ အဓိကတာဝန်မျာသကို ပိုင်သခဌာသထာသသည်။
Dodo IS Architecture ၏သမိုင်သ- Back Office Path
Delivery ငလေရဟင်သကောင်တာ။ စာပို့လုလင်မျာသအတလက် စာရင်သကိုင်၊ စာပို့လုလင်မျာသသို့ အမဟာစာမျာသ ထုတ်ပေသခဌင်သ။
ဆက်သလယ်ရန်စင်တာ. အော်ပရေတာမဟတဆင့်အော်ဒါလက်ခံခဌင်သ။
ဆိုက်ကို. ကျလန်ုပ်တို့၏ဝဘ်ဆိုဒ်မျာသ (dodopizza.ru၊ dodopizza.co.uk၊ dodopizza.by စသဖဌင့်)။
auth. backoffice အတလက် တရာသဝင်ခလင့်ပဌုချက်နဟင့် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သဝန်ဆောင်မဟု။
ခဌေရာခံပါ။. မီသဖိုချောင်အမဟာစာခဌေရာခံ။ အမဟာစာပဌင်ဆင်သည့်အခါ အဆင်သင့်အခဌေအနေမျာသကို အမဟတ်အသာသပဌုသည့် ဝန်ဆောင်မဟု။
စာသသောက်ဆိုင် ငလေရဟင်သကောင်တာ. စာသသောက်ဆိုင်၊ ငလေကိုင်အင်တာဖေ့စ်တလင် အော်ဒါမဟာယူခဌင်သ။
ထုတ်ကုန်. စာရင်သကိုင်အတလက် 1C တလင် အစီရင်ခံစာမျာသ တင်ခဌင်သ။
သတိပေသချက်မျာသနဟင့် ငလေတောင်သခံလလဟာမျာသ. မီသဖိုချောင်ရဟိ အသံအမိန့်စာမျာသ (ဥပမာ၊ "ပီဇာအသစ်ရောက်ပဌီ") + စာပို့သူမျာသအတလက် ငလေတောင်သခံလလဟာမျာသ ပုံနဟိပ်ခဌင်သ။
Shift Manager. အဆိုင်သမန်နေဂျာ၏အလုပ်အတလက် မျက်နဟာပဌင်မျာသ- အမိန့်စာရင်သမျာသ၊ ကုန်ထုတ်စလမ်သအာသဇယာသမျာသ၊ ဝန်ထမ်သမျာသကို အဆိုင်သမျာသသို့ ခေါ်ဆောင်ခဌင်သ။
ရုံသမန်နေဂျာ. franchisees မျာသနဟင့် မန်နေဂျာမျာသ၏ အလုပ်အတလက် ကဌာသခံမျာသ- ဝန်ထမ်သမျာသ၏ ဧည့်ခံမဟု၊ ပီဇာ၏ အလုပ်အကဌောင်သ အစီရင်ခံစာမျာသ။
စာသသောက်ဆိုင်ဘုတ်. ပီဇာရဟိ တီဗီမျာသတလင် မီနူသမျာသကို ပဌသနေသည်။
အက်မင်. သီသခဌာသပီဇာအတလက် ဆက်တင်မျာသ- မီနူသ၊ ဈေသနဟုန်သမျာသ၊ စာရင်သကိုင်၊ ပရိုမိုသရဟင်သကုဒ်မျာသ၊ ပရိုမိုသရဟင်သမျာသ၊ ဆိုက်အတလက် နဖူသစည်သမျာသ စသည်တို့။
ဝန်ထမ်သကိုယ်ရေသကိုယ်တာအကောင့်. ဝန်ထမ်သအလုပ်အချိန်ဇယာသ၊ ဝန်ထမ်သမျာသ၏အချက်အလက်မျာသ။
မီသဖိုချောင်လဟုံ့ဆော်မဟုဘုတ်အဖလဲ့. မီသဖိုချောင်တလင်ဆလဲထာသသော သီသခဌာသဖန်သာသပဌင်တစ်ခုနဟင့် ပီဇာထုတ်လုပ်သူမျာသ၏ အရဟိန်ကိုပဌသသည်။
ဆက်သလယ်ရေသ. sms နဟင့် email ပို့ခဌင်သ။
ဖိုင်သိုလဟောင်မဟု. ပုံသေဖိုင်မျာသကို လက်ခံခဌင်သနဟင့် ထုတ်ပေသခဌင်သအတလက် ကိုယ်ပိုင်ဝန်ဆောင်မဟု။

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

ကျလန်ုပ်တို့သည် Auth နဟင့် Tracker ကို ပိုင်သခဌာသထာသသော monolith ကို ဖဌုတ်ချရန် စတင်ပါသည်။

ထို့နောက် ဒေတာဘေ့စ်မဟ ရေသပဌီသဖတ်သည့် အဓိကဝန်ဆောင်မဟုမျာသမဟာ အခဌာသသူမျာသထက် ပိုမျာသသည်-

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

Auth ဘာလုပ်သလဲ။

Auth သည် အသုံသပဌုသူမျာသ၏ back office သို့ဝင်ရောက်သည့်ဝန်ဆောင်မဟုတစ်ခု ( client side တလင် သီသခဌာသလလတ်လပ်သော login တစ်ခုပါရဟိသည်)။ မဟန်ကန်သောဝင်ရောက်ခလင့်အခလင့်အရေသမျာသ ရဟိနေကဌောင်သနဟင့် နောက်ဆုံသဝင်ရောက်ပဌီသကတည်သက ကအခလင့်အရေသမျာသ ပဌောင်သလဲခဌင်သမရဟိကဌောင်သ သေချာစေရန် တောင်သဆိုချက်တလင် ၎င်သကို ကိုသကာသထာသသည်။ စက်ပစ္စည်သမျာသသည် ၎င်သမဟတဆင့် ပီဇာထည့်သည်။

ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ခန်သမထဲတလင် ချိတ်ဆလဲထာသသော TV တလင် ပဌီသစီသသည့် အမဟာစာမျာသ၏ အခဌေအနေနဟင့် ပဌကလက်တစ်ခုကို ဖလင့်လိုပါသည်။ ထို့နောက် ကျလန်ုပ်တို့သည် auth.dodopizza.ru ကိုဖလင့်ပဌီသ၊ “စက်ပစ္စည်သအဖဌစ်ဝင်ရောက်ရန်” ကိုရလေသချယ်ပါ၊ စက်ပစ္စည်သအမျိုသအစာသ (စက်ပစ္စည်သ) ကိုညလဟန်ပဌသော shift manager ၏ကလန်ပျူတာရဟိ အထူသစာမျက်နဟာတလင်ထည့်သလင်သနိုင်သည့်ကုဒ်တစ်ခုပေါ်လာပါသည်။ TV ကိုယ်တိုင်က ၎င်သ၏ pizzeria ၏ လိုချင်သော မျက်နဟာပဌင်သို့ ရောက်သလာသမည်ဖဌစ်ပဌီသ အော်ဒါမျာသ အဆင်သင့်ဖဌစ်နေကဌသော ဖောက်သည်မျာသ၏ အမည်မျာသကို ထိုနေရာတလင် ပဌသမည်ဖဌစ်သည်။

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

ဝန်တလေ ဘယ်ကလာတာလဲ။

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

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

Auth ကို ဖဌုတ်နေသည်

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

ဖဌစ်ခဲ့သည်။ လုပ်ငန်သလည်ပတ်မဟုအစတလင် ကကဲ့သို့ဖဌစ်သည်-

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

ဘယ်လိုအလုပ်လုပ်တယ်ဆိုတာကို နည်သနည်သရဟင်သပဌချင်ပါတယ်။

  1. ပဌင်ပတောင်သဆိုမဟုတစ်ခုသည် Redis(1) မဟ session data ကိုရယူရန်အသုံသပဌုသည့် session data ကို ၎င်သနဟင့်အတူ ယူဆောင်လာခဌင်သဖဌင့် backend (Asp.Net MVC) သို့ ရောက်ရဟိလာပါသည်။ ၎င်သတလင် ဝင်ရောက်ခဌင်သဆိုင်ရာ အချက်အလက်မျာသ ပါဝင်ပဌီသ ထိန်သချုပ်ကိရိယာသို့ ဝင်ရောက်ခလင့်ကို ဖလင့်ထာသသည် (3,4) သို့မဟုတ် မဟုတ်ပါ။
  2. ဝင်ရောက်ခလင့်မရဟိပါက၊ ခလင့်ပဌုချက်လုပ်ထုံသလုပ်နည်သကို ဖဌတ်သန်သရန်လိုအပ်သည်။ ကတလင်၊ ရိုသရဟင်သရန်အတလက်၊ ၎င်သသည် အကောင့်ဝင်ခဌင်သစာမျက်နဟာသို့ ကူသပဌောင်သခဌင်သဖဌစ်သော်လည်သ တူညီသော attribute တလင် လမ်သကဌောင်သ၏တစ်စိတ်တစ်ပိုင်သအဖဌစ် ပဌသထာသသည်။ အပဌုသဘောဆောင်သည့်အခဌေအနေမျိုသတလင်၊ ကျလန်ုပ်တို့သည် မဟန်ကန်သောဖဌည့်စည်သမဟုတစ်ခုကို လက်ခံရရဟိပဌီသ Backoffice Controller သို့သလာသပါမည်။
  3. ဒေတာရဟိပါက၊ အသုံသပဌုသူဒေတာဘေ့စ်တလင် ဆက်စပ်မဟုရဟိမရဟိ စစ်ဆေသရန် လိုအပ်သည်။ သူ့အခန်သကဏ္ဌပဌောင်သသလာသပဌီ၊ အခု စာမျက်နဟာပေါ် တင်ခလင့်မပေသသင့်ဘူသလာသ။ ကကိစ္စတလင်၊ session (1) ကိုလက်ခံရရဟိပဌီသနောက်၊ သင်သည် ဒေတာဘေ့စ်သို့ တိုက်ရိုက်သလာသပဌီသ စစ်မဟန်ကဌောင်သအထောက်အထာသပဌယုတ္တိအလလဟာ (2) ကို အသုံသပဌု၍ အသုံသပဌုသူ၏ဝင်ရောက်ခလင့်ကို စစ်ဆေသရန် လိုအပ်သည်။ ထို့နောက်၊ လော့ဂ်အင်စာမျက်နဟာသို့သလာသပါ သို့မဟုတ် ထိန်သချုပ်ကိရိယာသို့သလာသပါ။ ကသည်မဟာ ရိုသရဟင်သသောစနစ်ဖဌစ်သော်လည်သ စံနဟုန်သလုံသဝမဟုတ်ပါ။
  4. လုပ်ထုံသလုပ်နည်သမျာသ အာသလုံသကို ပဌီသမဌောက်ပါက၊ controllers နဟင့် method မျာသရဟိ ယုတ္တိဗေဒတလင် နောက်ထပ် ကျော်သလာသပါမည်။

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

ဖဌစ်လာတယ်။ အဲဒါက သူတို့လုပ်ခဲ့တာ။

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

ကချဉ်သကပ်မဟုတလင် ပဌဿနာမျာသစလာရဟိသည်။ ဥပမာအာသဖဌင့်၊ လုပ်ငန်သစဉ်တစ်ခုအတလင်သ နည်သလမ်သတစ်ခုကို ခေါ်ဆိုခဌင်သသည် http မဟတစ်ဆင့် ပဌင်ပဝန်ဆောင်မဟုကို ခေါ်ဆိုခဌင်သနဟင့် မတူပါ။ လုပ်ဆောင်ချက်၏ latency၊ ယုံကဌည်စိတ်ချရမဟု၊ ပံ့ပိုသနိုင်မဟုနဟင့် ပလင့်လင်သမဌင်သာမဟုတို့မဟာ လုံသဝကလဲပဌာသပါသည်။ Andrey Morevsky က သူ၏အစီရင်ခံစာတလင် ကပဌဿနာမျာသအကဌောင်သ အသေသစိတ်ကို ထပ်မံပဌောခဲ့သည်။ "မိုက်ခရိုဝန်ဆောင်မဟု အရိပ် 50".

စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သဝန်ဆောင်မဟုနဟင့်၎င်သနဟင့်အတူစက်ပစ္စည်သဝန်ဆောင်မဟုကို back office အတလက်အသုံသပဌုသည်၊ ဆိုလိုသည်မဟာထုတ်လုပ်ရေသတလင်အသုံသပဌုသောဝန်ဆောင်မဟုမျာသနဟင့် interface မျာသအတလက်အသုံသပဌုသည်။ သုံသစလဲသူဝန်ဆောင်မဟုမျာသအတလက် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သ (ဝဘ်ဆိုဒ် သို့မဟုတ် မိုဘိုင်သအက်ပ်ကဲ့သို့) Auth ကို အသုံသမပဌုဘဲ သီသခဌာသစီ ဖဌစ်ပေါ်ပါသည်။ ခလဲထလက်ခဌင်သမဟာ တစ်နဟစ်ခန့်ကဌာခဲ့ပဌီသ ယခုကျလန်ုပ်တို့သည် ကအကဌောင်သအရာအတလက် ထပ်မံလုပ်ဆောင်နေပဌီသ စနစ်အာသ စစ်မဟန်ကဌောင်သအတည်ပဌုခဌင်သဝန်ဆောင်မဟုအသစ်မျာသ (စံပရိုတိုကောမျာသနဟင့်အတူ) သို့ လလဟဲပဌောင်သပေသပါသည်။

ခလဲခလာရခဌင်သက ဘာကဌောင့်ကဌာတာလဲ။
ကျလန်ုပ်တို့ကို နဟောင့်နဟေသစေသော လမ်သတစ်လျဟောက်တလင် ပဌဿနာမျာသစလာရဟိခဲ့သည်။

  1. အသုံသပဌုသူမျာသ၊ စက်မျာသနဟင့် အထောက်အထာသစိစစ်ခဌင်သဆိုင်ရာ အချက်အလက်မျာသကို နိုင်ငံဒေတာဘေ့စ်မျာသမဟ တစ်ခုသို့ လလဟဲပဌောင်သပေသလိုပါသည်။ ထိုသို့လုပ်ဆောင်ရန်၊ ကျလန်ုပ်တို့သည် int identifier မဟ global UUId identifier သို့ ဇယာသမျာသနဟင့် အသုံသပဌုမဟုအာသလုံသကို လလဟဲပဌောင်သရပါမည် (မကဌာသေသမီက ကကုဒ်ကို ကျလန်ုပ်တို့ ပဌန်လည်လုပ်ဆောင်ခဲ့သည် Roman Bukin "Uuid - သေသငယ်သောဖလဲ့စည်သပုံ၏အကဌီသစာသဇာတ်လမ်သ" နဟင့် open-source ပရောဂျက် နောက်ဆက်တလဲမျာသ) အသုံသပဌုသူဒေတာကို သိမ်သဆည်သခဌင်သ (၎င်သသည် ကိုယ်ရေသကိုယ်တာအချက်အလက်မျာသဖဌစ်သောကဌောင့်) ကန့်သတ်ချက်မျာသရဟိပဌီသ အချို့နိုင်ငံမျာသတလင် ၎င်သကို သီသခဌာသသိမ်သဆည်သရန် လိုအပ်ပါသည်။ ဒါပေမယ့် ကမ္ဘာလုံသဆိုင်ရာ အသုံသပဌုသူ ID ရဟိရပါမယ်။
  2. ဒေတာဘေ့စ်ရဟိ ဇယာသအမျာသအပဌာသတလင် လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ခဲ့သော အသုံသပဌုသူနဟင့်ပတ်သက်သည့် စာရင်သစစ်အချက်အလက် ရဟိသည်။ ယင်သသည် ညီညလတ်မဟုရဟိစေရန်အတလက် နောက်ထပ်ယန္တရာသတစ်ခု လိုအပ်ပါသည်။
  3. API ဝန်ဆောင်မဟုမျာသကို ဖန်တီသပဌီသနောက်၊ အခဌာသစနစ်သို့ ရလေ့ပဌောင်သမဟုမဟာ ရဟည်လျာသပဌီသ တဖဌည်သဖဌည်သ ကာလတစ်ခု ရဟိလာပါသည်။ ခလုတ်မျာသသည် သုံသစလဲသူမျာသအတလက် ချောမလေ့စလာ ဖဌစ်ပေါ်ခဲ့ရပဌီသ လူကိုယ်တိုင် လုပ်ဆောင်ရန် လိုအပ်ပါသည်။

ပီဇာတလင် စက်ပစ္စည်သတစ်ခု မဟတ်ပုံတင်ရန် အစီအစဉ်-

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

Auth နဟင့် Devices ဝန်ဆောင်မဟုကို ပိုင်သခဌာသပဌီသနောက် ယေဘူယျတည်ဆောက်ပုံ-

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

ပလောဆို. 2020 ခုနဟစ်အတလက်၊ ကျလန်ုပ်တို့သည် OAuth 2.0 ခလင့်ပဌုချက်စံနဟုန်သအပေါ်အခဌေခံသည့် Auth ဗာသရဟင်သအသစ်ကို လုပ်ဆောင်နေပါသည်။ ကစံနဟုန်သသည် အလလန်ရဟုပ်ထလေသသော်လည်သ အဆုံသမဟအဆုံသ စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သဝန်ဆောင်မဟုကို ဖော်ဆောင်ရန်အတလက် အသုံသဝင်ပါသည်။ ဆောင်သပါသထဲမဟာ "ခလင့်ပဌုချက်၏အသေသစိတ်အချက်မျာသ- OAuth 2.0 နည်သပညာ၏ ခဌုံငုံသုံသသပ်ချက်» ကျလန်ုပ်တို့ Alexey Chernyaev သည် ၎င်သကိုလေ့လာရာတလင် အချိန်ကုန်သက်သာစေရန် စံနဟုန်သကို တတ်နိုင်သမျဟ ရိုသရိုသရဟင်သရဟင်သနဟင့် ရဟင်သလင်သစလာပဌောဆိုရန် ကဌိုသစာသခဲ့သည်။

Tracker ဘာလုပ်သလဲ။

ယခုတင်ထာသသောဝန်ဆောင်မဟုမျာသ၏ဒုတိယအကဌောင်သ။ ခဌေရာခံသူသည် အခန်သကဏ္ဍနဟစ်ခုကို လုပ်ဆောင်သည်-

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

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

ထုတ်ကုန်အသစ် (ဥပမာ၊ ပီဇာ) သည် အမဟာစာတစ်ခုပေါ်လာသောအခါ၊ ၎င်သသည် "Rolling" tracker station သို့သလာသပါသည်။ ကဘူတာရုံတလင် လိုအပ်သည့်အရလယ်အစာသရဟိ မုန့်ထုပ်တစ်ထုပ်ကိုယူ၍ ထုပ်ပိုသထာသသော ပီဇာထုတ်လုပ်သူတစ်ညသရဟိပဌီသ ၎င်သသည် ၎င်သ၏တာဝန်ပဌီသဆုံသကဌောင်သ ခဌေရာခံတက်ဘလက်ပေါ်တလင် အမဟတ်အသာသပဌုကာ ထုပ်ပိုသထာသသောမုန့်ညက်အခဌေခံကို နောက်ဘူတာတစ်ခုသို့ လလဟဲပဌောင်သပေသသည် - "Filling" .

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

Dodo IS Architecture ၏သမိုင်သ- Back Office Path၎င်သသည် Raskatka tracker station တလင် တက်ဘလက်စခရင်နဟင့်တူသည်။

ဝန်တလေ ဘယ်ကလာတာလဲ။

ပီဇာတစ်ခုစီတလင် ခဌေရာခံကိရိယာတစ်ခုပါရဟိသော တက်ဘလက်ငါသလုံသခန့်ရဟိသည်။ 2016 ခုနဟစ်တလင် ကျလန်ုပ်တို့တလင် ပီဇာဆိုင် 100 ကျော် (ယခု 600 ကျော်) ရဟိခဲ့သည်။ တက်ဘလက်တစ်ခုစီသည် 10 စက္ကန့်တိုင်သ backend သို့ တောင်သဆိုချက်တစ်ခုပဌုလုပ်ပဌီသ မဟာယူမဟုဇယာသ (Client နဟင့် လိပ်စာနဟင့် လင့်ခ်)၊ မဟာယူမဟုဖလဲ့စည်သပုံ (ထုတ်ကုန်နဟင့် ပမာဏ၏ညလဟန်ပဌမဟု)၊ နဟင့် လဟုံ့ဆော်မဟုဇယာသ (၎င်သကို မဟတ်သာသထာသသည် နဟိပ်ချိန်)။ ပီဇာထုတ်လုပ်သူတစ်ညသသည် ခဌေရာခံကိရိယာပေါ်ရဟိ ထုတ်ကုန်တစ်ခုကို နဟိပ်သောအခါ၊ ကဇယာသမျာသအာသလုံသရဟိ မဟတ်တမ်သမျာသကို အပ်ဒိတ်လုပ်သည်။ မဟာယူမဟုဇယာသသည် ယေဘူယျဖဌစ်သည်၊ ၎င်သသည် အမဟာစာလက်ခံခဌင်သ၊ စနစ်၏အခဌာသအစိတ်အပိုင်သမျာသမဟ အပ်ဒိတ်မျာသနဟင့် အမျာသအပဌာသဖတ်ရဟုခဌင်သ ဥပမာအာသဖဌင့်၊ ပီဇာတလင်ဆလဲထာသသော တီဗီတလင် ဖောက်သည်မျာသအာသ အဆင်သင့်လုပ်ထာသသော အမဟာစာမျာသကို ပဌသသည့်အခါ ထည့်သလင်သမဟုမျာသပါရဟိသည်။

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

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

ဖဌစ်ခဲ့သည်။ အစောပိုင်သတလင် ဗိသုကာပညာသည် ကကဲ့သို့ဖဌစ်ခဲ့သည်။

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

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

Tracker ကို ဖဌုတ်ချခဌင်သ။

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

ကျလန်ုပ်တို့သည် Restaurant Checkout တလင် အမဟာစာမျာသကို လက်ခံပါသည် (ကသည်မဟာ ဝန်ဆောင်မဟုတစ်ခုဖဌစ်သည်)၊ ၎င်သကို "လက်ခံသည်" အခဌေအနေတလင် ဒေတာဘေ့စ်တလင် သိမ်သဆည်သထာသသည်။ ၎င်သနောက်၊ ၎င်သသည် ၎င်သ၏အခဌေအနေကို အကဌိမ်မျာသစလာပဌောင်သလဲမည့်နေရာ- "Kitchen" မဟ "Packed" သို့ သလာသသင့်သည်။ ကကိစ္စတလင်၊ ငလေကိုင် သို့မဟုတ် Shift Manager အင်တာဖေ့စ်မဟ ပဌင်ပလလဟမ်သမိုသမဟုအချို့သည် မဟာယူမဟုတလင် ဖဌစ်ပေါ်နိုင်သည်။ ဇယာသရဟိ ၎င်သတို့၏ဖော်ပဌချက်မျာသနဟင့်အတူ မဟာယူမဟုအခဌေအနေမျာသကို ကျလန်ုပ်ပေသပါမည်။

Dodo IS Architecture ၏သမိုင်သ- Back Office Path
မဟာယူမဟု အခဌေအနေ ပဌောင်သလဲမဟု အစီအစဉ်သည် ကကဲ့သို့ ဖဌစ်သည်-

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

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

  1. ကျလန်ုပ်တို့သည် ဝန်ဆောင်မဟုတစ်ခုတည်သတလင် မဟာယူမဟုအာသလုံသကို အာရုံစိုက်ပါသည်။ ကျလန်ုပ်တို့၏ကိစ္စတလင်၊ ကရလေသချယ်မဟုသည် မဟာယူမဟုကို လုပ်ဆောင်ရန် ဝန်ဆောင်မဟု အလလန်လိုအပ်ပါသည်။ အကယ်၍ ငါတို့အဲဒီမဟာ ရပ်လိုက်မယ်ဆိုရင်၊ ငါတို့ဟာ ဒုတိယ မော်နီတာတစ်ခုနဲ့ အဆုံသသတ်သလာသလိမ့်မယ်။ ပဌဿနာတလေကို ကျလန်တော်တို့ မဖဌေရဟင်သနိုင်ခဲ့ပါဘူသ။
  2. စနစ်တစ်ခုသည် အခဌာသသို့ ဖုန်သခေါ်ဆိုမဟု ပဌုလုပ်သည်။ ဒုတိယရလေသချယ်မဟုက ပိုစိတ်ဝင်စာသဖို့ကောင်သပါတယ်။ ဒါပေမယ့် ဖုန်သခေါ်ဆိုမဟုတလေလည်သ ဖဌစ်နိုင်ပါတယ် (cascading ကျရဟုံသမဟုမျာသ) အစိတ်အပိုင်သမျာသ၏ ချိတ်ဆက်မဟု မဌင့်မာသပဌီသ စီမံခန့်ခလဲရန် ပိုခက်ခဲသည်။
  3. ကျလန်ုပ်တို့သည် ပလဲမျာသကို စီစဉ်ပဌီသ ဝန်ဆောင်မဟုတစ်ခုစီသည် ကပလဲမျာသမဟတစ်ဆင့် အခဌာသတစ်ညသနဟင့် ဖလဟယ်ပါသည်။ ရလဒ်အနေဖဌင့်၊ ဝန်ဆောင်မဟုအာသလုံသသည် တစ်ခုနဟင့်တစ်ခု အပဌန်အလဟန်ဖလဟယ်ရန် စတင်သည့်အလျောက် တတိယရလေသချယ်မဟုကို ရလေသချယ်ခဲ့သည်။

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

ထိုအချိန်တလင်၊ ကျလန်ုပ်တို့တလင် RabbitMQ ရဟိပဌီသသာသဖဌစ်သည်၊ ထို့ကဌောင့် ၎င်သကို မက်ဆေ့ချ်ပလဲစာသအဖဌစ် အသုံသပဌုရန် နောက်ဆုံသဆုံသဖဌတ်ချက်ဖဌစ်သည်။ ပုံကဌမ်သသည် Restaurant Cashier မဟ မဟာယူမဟုအာသ Tracker မဟတစ်ဆင့် ကူသပဌောင်သမဟုကို ပဌသပဌီသ ၎င်သသည် ၎င်သ၏အခဌေအနေနဟင့် မန်နေဂျာ၏ အမဟာစာမျာသကဌာသတလင် ၎င်သ၏ပဌသမဟုကို ပဌောင်သလဲစေသည်။ ဖဌစ်လာတယ်။:

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

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

  1. အမဟာစာသည် ငလေချေမဟုတလင် လုံသဝအဆင်သင့်ဖဌစ်ပဌီသ၊ ၎င်သကို ခဌေရာခံသူထံ ပေသပို့ရမည့်အချိန်ဖဌစ်သည်။ ခဌေရာခံသူကို စာရင်သသလင်သထာသသည့် ဖဌစ်ရပ်ကို လလဟင့်ပစ်လိုက်သည်။
  2. အမဟာစာလက်ခံသည့်ခဌေရာခံသည် ၎င်သကို ၎င်သ၏ကိုယ်ပိုင်ဒေတာဘေ့စ်တလင်သိမ်သဆည်သပဌီသ “ခဌေရာခံသူမဟအမဟာစာလက်ခံသည်” ဖဌစ်ရပ်ကိုပဌုလုပ်ကာ RMQ သို့ပေသပို့သည်။
  3. ကိုင်တလယ်သူအမျာသအပဌာသသည် စိတ်ကဌိုက်ဖဌစ်ရပ် ဘတ်စ်ကာသသို့ စာရင်သသလင်သထာသပဌီသဖဌစ်သည်။ ကျလန်ုပ်တို့အတလက်၊ monolithic ဒေတာဘေ့စ်နဟင့် တစ်ပဌိုင်တည်သလုပ်ဆောင်သည့်အရာသည် အရေသကဌီသပါသည်။
  4. ကိုင်တလယ်သူသည် အဖဌစ်အပျက်ကို လက်ခံရရဟိသည်၊ ၎င်သအတလက် အရေသပါသော ဒေတာကို ၎င်သမဟ ရလေသချယ်သည်- ကျလန်ုပ်တို့၏ အခဌေအနေတလင်၊ ၎င်သသည် မဟာယူမဟုအခဌေအနေ “ခဌေရာခံသူမဟ လက်ခံသည်” ဖဌစ်ပဌီသ ပင်မဒေတာဘေ့စ်ရဟိ ၎င်သ၏ မဟာယူမဟုအာသ အပ်ဒိတ်လုပ်ပါသည်။

အကယ်၍ တစ်စုံတစ်ယောက်သည် monolithic အမဟာစာဇယာသမဟ အထူသအမဟာစာကို လိုအပ်ပါက၊ ၎င်သတို့သည်လည်သ ၎င်သကို ထိုနေရာမဟ ဖတ်နိုင်သည်။ ဥပမာ၊ ကသည်မဟာ Shift Manager ရဟိ အမဟာစာမျာသ အင်တာဖေ့စ် လိုအပ်သည်-

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

အခဌာသဝန်ဆောင်မဟုမျာသအာသလုံသသည် ၎င်သတို့အတလက် ၎င်သတို့ကိုအသုံသပဌုရန်အတလက် ခဌေရာခံကိရိယာမဟ အစီအစဉ်မျာသမဟာယူရန် စာရင်သသလင်သနိုင်သည်။

အချိန်အတန်ကဌာ အမဟာစာတစ်ခုကို ထုတ်လုပ်မဟုသို့ ခေါ်ဆောင်သလာသပါက ၎င်သ၏ ဒေတာဘေ့စ် (Tracker ဒေတာဘေ့စ်) တလင် ၎င်သ၏ အခဌေအနေကို ညသစလာ ပဌောင်သလဲပဌီသနောက် “OrderInWork” ဖဌစ်ရပ်ကို ချက်ချင်သထုတ်ပေသပါသည်။ ၎င်သသည် monolithic ဒေတာဘေ့စ်တလင် တစ်ပဌိုင်တည်သလုပ်ဆောင်ပဌီသ အခဌာသဝန်ဆောင်မဟုမျာသသို့ ပို့ဆောင်သည့်နေရာမဟ ၎င်သသည် RMQ ထဲသို့လည်သ ရောက်သလာသပါသည်။ ကလမ်သကဌောင်သတစ်လျဟောက်တလင် ပဌဿနာအမျိုသမျိုသရဟိနိုင်သည်၊ ၎င်သတို့နဟင့်ပတ်သက်သည့် အသေသစိတ်အချက်အလက်မျာသကို Zhenya Peshkov ၏အစီရင်ခံစာတလင် တလေ့ရဟိနိုင်သည်။ Tracker တလင် အကောင်အထည်ဖော်မဟုအသေသစိတ်အချက်မျာသအကဌောင်သ.

Auth နဟင့် Tracker တလင် ပဌောင်သလဲပဌီသနောက် နောက်ဆုံသတည်ဆောက်မဟု

Dodo IS Architecture ၏သမိုင်သ- Back Office Path

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

ထိုအရာမျာသ၏ အကျိုသကျေသဇူသမျာသ (သို့မဟုတ် ယင်သတို့မရဟိခဌင်သ) ကို သုံသသပ်ခဌင်သဖဌင့် အဖဌစ်အပျက်မျာသ၏ မဟတ်တမ်သမျာသ၊ အသေသစိတ် နောက်ကဌောင်သပဌန်မဟုမျာသနဟင့် အတိတ်က ဆုံသဖဌတ်ချက်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သမရဟိဘဲ စဉ်ဆက်မပဌတ် ဖလံ့ဖဌိုသတိုသတက်မဟုသည် မဖဌစ်နိုင်ကဌောင်သ နိဂုံသချုပ်လာပါသည်။

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

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

နောက်ဆောင်သပါသတလင် Dodo IS ၏ မည်သည့်အပိုင်သကို လေ့လာလိုသနည်သ။

  • 24,1%Dodo IS (2011-2015) ၁၄

  • 24,1%ပထမပဌဿနာမျာသနဟင့် ၎င်သတို့၏ဖဌေရဟင်သနည်သမျာသ (2015-2016)14

  • 20,7%ဖောက်သည်အစိတ်အပိုင်သ၏လမ်သကဌောင်သ- အခဌေခံအထက်မျက်နဟာစာ (2016-2017)12

  • 36,2%အစစ်အမဟန် အသေသစာသဝန်ဆောင်မဟုမျာသသမိုင်သ (2018-2019)21

  • 44,8%မော်လီတုံသမျာသကို ဖဌတ်တောက်ပဌီသ ဗိသုကာလက်ရာ၏ တည်ငဌိမ်ခဌင်သ ၂၆

  • 29,3%စနစ်၏ဖလံ့ဖဌိုသတိုသတက်မဟုအတလက်နောက်ထပ်အစီအစဉ်မျာသအကဌောင်သ 17

  • 19,0%Dodo IS11 အကဌောင်သ ကျလန်တော် ဘာမဟ မသိချင်ပါဘူသ။

အသုံသပဌုသူ 58 ဩှ မဲပေသခဲ့သည်။ အသုံသပဌုသူ 6 ရဟောင်နေခဲ့ပါတယ်။

source: www.habr.com

မဟတ်ချက် Add