Skip to content
GitHub

အပေါ်ယံခြုံငုံသုံးသပ် ဒီဇိုင်းဆွဲခြင်းနှင့် Pattern ရွေးချယ်ခြင်း

အဆင့် ၃: အဓိက Architectural Pattern တစ်ခုကို ရွေးချယ်ခြင်း

Section titled “အဆင့် ၃: အဓိက Architectural Pattern တစ်ခုကို ရွေးချယ်ခြင်း”

ကျွန်တော်တို့ရဲ့ လိုအပ်ချက်တွေအပေါ် အခြေခံပြီး၊ အဓိက pattern တွေကို သုံးသပ်ကြည့်ကြရအောင်:

  • Monolith လား? Application တစ်ခုတည်းကတော့ အခက်အခဲတွေ့နိုင်ပါတယ်။ Real-time location tracking feature က scale လုပ်ဖို့လိုအပ်ပုံနဲ့ user profile management feature က scale လုပ်ဖို့လိုအပ်ပုံက အများကြီးကွာခြားပါတယ်။ ပြီးတော့၊ အစိတ်အပိုင်းတစ်ခုမှာ ပြဿနာတက်တာ (ဥပမာ - driver sign up လုပ်ငန်းစဉ်) က system တစ်ခုလုံးကို ရပ်တန့်သွားစေနိုင်ပြီး၊ ဒါက ကျွန်တော်တို့ရဲ့ အမြဲတမ်းရရှိနိုင်ရမယ်(High Availability) ဆိုတဲ့ အဓိကလိုအပ်ချက်နဲ့ မကိုက်ညီပါဘူး။ ဒါကြောင့် monolith က သင့်တော်တဲ့ရွေးချယ်မှု မဟုတ်ပါဘူး။

  • Microservices လား? ဒါကတော့ အလားအလာကောင်းပုံရပါတယ်။ ကျွန်တော်တို့က မတူညီတဲ့ function တွေအတွက် သီးခြား service တွေ (ဥပမာ - Location, Trip, Driver management) တည်ဆောက်နိုင်ပါတယ်။ ဒါက အစိတ်အပိုင်းတစ်ခုချင်းစီကို လွတ်လပ်စွာ scale လုပ်နိုင်စေပြီး အမှားအယွင်းခံနိုင်ရည် (fault tolerance) ကိုလည်း တိုးတက်စေပါတယ်။ Driver signup service သာ ပျက်နေရင်တောင်၊ ကားငှားသူတွေက ခရီးစဉ်တွေကို တောင်းဆိုပြီး စီးနင်းလို့ရနေဦးမှာပါ။

ဆုံးဖြတ်ချက် - ကျွန်တော်တို့ microservices architecture ကို အသုံးပြုပါမယ်။

အဆင့် ၄: Service နယ်နိမိတ်များကို သတ်မှတ်ခြင်း

Section titled “အဆင့် ၄: Service နယ်နိမိတ်များကို သတ်မှတ်ခြင်း”

အခု application ကို လုပ်ငန်းဆောင်တာအလိုက် (our Bounded Contexts) ယုတ္တိကျတဲ့ service တွေအဖြစ် ခွဲထုတ်ကြည့်ကြရအောင်။

  • Rider Service: ကားငှားသူတွေရဲ့ profile၊ rating၊ နှင့် ငွေပေးချေမှုနည်းလမ်းတွေကို စီမံခန့်ခွဲပါတယ်။

  • Driver Service: ကားသမားတွေရဲ့ profile၊ ကားအချက်အလက်၊ rating၊ နှင့် အဆင်သင့်ဖြစ်မှုအခြေအနေ (availability status) ကို စီမံခန့်ခွဲပါတယ်။

  • Trip Service: System ရဲ့ အဓိကကျောရိုးဖြစ်ပါတယ်။ ခရီးစဉ်တစ်ခုရဲ့ အစအဆုံး lifecycle (တောင်းဆိုခြင်း၊ လက်ခံခြင်း၊ ပြီးဆုံးခြင်း) အပါအဝင်၊ ဈေးနှုန်းတွက်ချက်ခြင်းနှင့် ငွေပေးချေခြင်းတို့ကိုပါ စီစဉ်ညွှန်ကြားပေးပါတယ်။

  • Location Service: ကားသမားထောင်ပေါင်းများစွာဆီက real-time GPS location update အများအပြားကို ကိုင်တွယ်ဖို့ အထူးဒီဇိုင်းဆွဲထားတဲ့ service ဖြစ်ပါတယ်။

  • Notification Service: User တွေဆီကို SMS, email, နှင့် push notification များ ပေးပို့ရန် တာဝန်ယူသော ယေဘုယျ service တစ်ခုဖြစ်ပါတယ်။

အဆင့် ၅: High-Level ပုံကြမ်းများဆွဲခြင်း (C4 Model)

Section titled “အဆင့် ၅: High-Level ပုံကြမ်းများဆွဲခြင်း (C4 Model)”
C4 model level 1
C4 model level 2