Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

မင်္ဂလာပါ! ကျလန်ုပ်၏အမည်မဟာ Alexey Pyankov ဖဌစ်ပဌီသ၊ ကျလန်ုပ်သည် Sportmaster ကုမ္ပဏီမဟ developer တစ်ညသဖဌစ်သည်။ အဲဒီထဲမဟာ ပို့စ် Sportmaster ဝဘ်ဆိုဒ်တလင် 2012 တလင်စတင်အလုပ်လုပ်ပုံကိုပဌောပဌခဲ့သည်၊ ကျလန်ုပ်တို့သည် "တလန်သလဟန်" ရန်မည်သို့လုပ်ဆောင်ခဲ့သည်နဟင့်အပဌန်အလဟန်အာသဖဌင့်ကျလန်ုပ်တို့စုဆောင်သထာသသောထလန်ခဌစ်ကိုပဌောပဌခဲ့သည်။

ယနေ့ ကျလန်ုပ်သည် အခဌာသအကဌောင်သအရာနဟင့် လိုက်လျောညီထလေရဟိသော အတလေသအမဌင်မျာသကို မျဟဝေလိုသည်မဟာ - site admin panel ရဟိ java backend အတလက် caching system တစ်ခုကို ရလေသချယ်ခဌင်သ ဖဌစ်သည်။ ဒီဇာတ်ကလက်ဟာ ကျလန်တော့်အတလက် အထူသအဓိပ္ပာယ်ရဟိပါတယ် - ဇာတ်လမ်သက ၂ လပဲ ရဟိသေသပေမယ့် ဒီရက် ၆၀ အတလင်သ ကျလန်တော်တို့ဟာ ၁၂ နာရီကနေ ၁၆ နာရီအထိ အလုပ်လုပ်ခဲ့ပဌီသ တစ်ရက်တည်သ ပိတ်ရက်မရဟိခဲ့ပါဘူသ။ ဒီလောက် အလုပ်ကဌိုသစာသဖို့ မဖဌစ်နိုင်ဘူသလို့ တစ်ခါမဟ မတလေသဖူသဘူသ။

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

Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

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

အစပိုင်သတလင်၊ ထုတ်လုပ်ရေသစတင်သည့်ရက်သတ္တပတ်မျာသမဟ စိုသရိမ်မဟုမျာသစလာရဟိခဲ့ပဌီသ အကဌောင်သအရာမန်နေဂျာမျာသအတလက် ထိုသို့သောအဆင်မပဌေမဟုမျာသသည် အသေသအဖလဲဖဌစ်သည်။ သို့သော်၊ အာသလုံသပဌေလည်သည်နဟင့်တပဌိုင်နက်၊ ပရောဂျက်၏ဖလံ့ဖဌိုသတိုသတက်မဟုသည်ဆက်လက်လုပ်ဆောင်ခဲ့သည် - လအနည်သငယ်အကဌာ၊ 2015 ခုနဟစ်အစတလင်ကျလန်ုပ်တို့သည် admin panel ကိုတက်ကဌလစလာဖလံ့ဖဌိုသစပဌုလာသည်။ 2015 နဟင့် 2016 တလင်၊ အရာအာသလုံသ အဆင်ပဌေသလာသသည်၊ ကျလန်ုပ်တို့ ပုံမဟန်ထုတ်ပဌန်သည်၊ စီမံခန့်ခလဲရေသအဖလဲ့သည် ဒေတာပဌင်ဆင်မဟု ပိုမျာသလာသည်နဟင့်အမျဟ ကျလန်ုပ်တို့၏အဖလဲ့အာသ မကဌာမီတလင် အရေသကဌီသဆုံသနဟင့် အရဟုပ်ထလေသဆုံသအရာအဖဌစ် အပ်နဟင်သခံရတော့မည်ဟူသောအချက်အတလက် ပဌင်ဆင်နေပါသည် ဆာသကစ် (ထုတ်ကုန်အာသလုံသတလင် ဒေတာမျာသ အပဌည့်အစုံ ပဌင်ဆင်ခဌင်သနဟင့် ထိန်သသိမ်သခဌင်သ)။ သို့သော် 2017 နလေရာသီတလင်၊ ကုန်စည်ပတ်လမ်သမစတင်မီလေသတလင်၊ ပရောဂျက်သည် ကက်ရဟ်လုပ်ခဌင်သဆိုင်ရာ ပဌဿနာမျာသကဌောင့် အလလန်ခက်ခဲသောအခဌေအနေတလင် ရဟိနေမည်ဖဌစ်သည်။ ကအပိုင်သနဟစ်ပိုင်သထုတ်ဝေခဌင်သ၏ ဒုတိယအပိုင်သတလင် ကအပိုင်သကို ပဌောပဌလိုပါသည်။

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

ကက်ရဟ်လုပ်စရာတစ်ခု ဖဌစ်ပေါ်သောအခါ

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

ပထမအဆင့်တလင်၊ ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သနဟင့် ကုဒ်စလမ်သဆောင်ရည်ကို ကျလန်ုပ်တို့မစဉ်သစာသပါ။ အဓိကအချက်မဟာ လုပ်ဆောင်နိုင်စလမ်သ၊ လေယာဉ်မဟူသတစ်ညသကို လျင်မဌန်စလာ ထုတ်ပဌပဌီသ တလေသခေါ်စမ်သသပ်ခဌင်သ ဖဌစ်သည်။ ဝန်ပိုလာပါက သံကိုစုပ်သည်။ နဟစ်ကဌိမ် သုံသကဌိမ်၊ ငါသဆ၊ ၁၀ ဆလောက် တိုသပေသတယ်။ ကနေရာ၌ - ငလေကဌေသသည် ၎င်သကို ခလင့်မပဌုတော့ပါ။ အသုံသပဌုသူညသရေ ဘယ်နဟစ်ဆတိုသမလဲ။ 10-2-5 ကဲ့သို့မဟုတ်သော်လည်သ အောင်မဌင်ပါက အကဌိမ်ရေ 10-100 မဟ 1000 အထိဖဌစ်လိမ့်မည်။ ဆိုလိုသည်မဟာ၊ အနဟေသနဟင့်အမဌန်၊ သင်သည် optimization လုပ်ရလိမ့်မည်။

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

ဆိုလိုသည်မဟာ လုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်ခဌင်သသည် ကျလန်ုပ်တို့အတလက် အရေသမကဌီသပါ။ ရလဒ်အပေါ် မူတည်ပဌီသ မည်သည့် parameters မျာသကို သိရန် လုံလောက်ပါသည်။ ထို့နောက်၊ အချို့သောသိုလဟောင်မဟုတလင် သော့အဖဌစ်အသုံသပဌုနိုင်သည့် အရာဝတ္ထုတစ်ခု၏ပုံစံဖဌင့် ပါရာမီတာတန်ဖိုသမျာသကို ကိုယ်စာသပဌုပါက၊ တလက်ချက်မဟုရလဒ်ကို သိမ်သဆည်သပဌီသ နောက်တစ်ကဌိမ်ဝင်ရောက်သည့်အခါတလင် ဖတ်ရဟုနိုင်ပါသည်။ ကရေသသာသခဌင်သနဟင့် ရလဒ်ကို ဖတ်ရဟုခဌင်သသည် လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ခဌင်သထက် ပိုမိုမဌန်ဆန်ပါက၊ ကျလန်ုပ်တို့သည် မဌန်နဟုန်သသတ်မဟတ်ချက်တလင် အကျိုသအမဌတ်ရဟိသည်။ အမဌတ်ပမာဏသည် အကဌိမ်ရေ 100, 1000, နဟင့် 100 သို့ရောက်ရဟိနိုင်သည် (10^5 သည်ခဌလင်သချက်တစ်ခုဖဌစ်သော်လည်သ၊ အလလန်နဟေသကလေသသောအခဌေခံကိစ္စတလင်၊ အလလန်ဖဌစ်နိုင်သည်)။

ကက်ရဟ်စနစ်အတလက် အခဌေခံလိုအပ်ချက်မျာသ

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

ဒီအမဟုကို ကစာသကဌည့်ရအောင်။

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

အကယ်၍ ဟာ့ဒ်ဝဲ၏ကနညသထောက်ပံ့မဟုသည် 2-5 ကဌိမ်ဖဌစ်နိုင်လျဟင် cache ၏အကူအညီဖဌင့်ကျလန်ုပ်တို့စလမ်သဆောင်ရည်ကိုအချက် 10 သို့မဟုတ်အချက် 100 ဖဌင့်စလမ်သဆောင်ရည်မဌဟင့်တင်နိုင်သည်၊ အချို့နေရာမျာသတလင်အချက်တစ်ခုအာသဖဌင့်ဖဌစ်ကောင်သဖဌစ်နိုင်သည်။ 1000။ ဆိုလိုသည်မဟာ တူညီသော ဟာ့ဒ်ဝဲပေါ်တလင် ကျလန်ုပ်တို့သည် အဆ 100 ပိုတောင်သဆိုမဟုမျာသကို လုပ်ဆောင်ပါသည်။ ကောင်သတယ်၊ မင်သ ဂျင်သပေါင်မုန့်နဲ့ ထိုက်တန်တယ်။

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

စတင်သည့်ဝန်နဟင့် နဟိုင်သယဟဉ်ပါက ကျလန်ုပ်တို့၏ သံရံသည် 2-5 ကဌိမ်ရဟိပဌီသ ကအချိန်အတလင်သ ဝန်သည် 10-100 ဆ တိုသလာသည်။ ကက်ရဟ်ကို အသုံသပဌု၍ လေသလံသော လုပ်ဆောင်ချက်မျာသအတလက် ခေါ်ဆိုမဟုမျာသကို ကျလန်ုပ်တို့ ဖယ်ရဟာသခဲ့ပဌီသ ထို့ကဌောင့် အရာအာသလုံသ အလုပ်ဖဌစ်ခဲ့သည်။ ယခု၊ ကက်ရဟ်မပါဘဲ ကျလန်ုပ်တို့၏စနစ်သည် အကဌိမ်မည်မျဟနဟေသကလေသမည်နည်သ။ ငါတို့ ဘာဖဌစ်သလာသမလဲ။ စနစ်ကျလာမယ်။

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

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

ရလေသချယ်မဟု၏ဝဒေနာ

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

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

ကျလန်ုပ်တို့ ဘာလုပ်ခဲ့သလဲ-

  1. ကျလန်ုပ်တို့သည် Google နဟင့် StackOverflow အကဌံပဌုထာသသော စနစ်အာသလုံသကို စာရင်သပဌုစုပါသည်။ 30 ကျော်လောက်တော့ရဟိတယ်။
  2. ကျလန်ုပ်တို့သည် ထုတ်လုပ်မဟုအတလက် ပုံမဟန်ဝန်ဖဌင့် စမ်သသပ်မဟုမျာသရေသသည်။ ထိုသို့လုပ်ဆောင်ရန်၊ ကျလန်ုပ်တို့သည် ကလန်ရက်ပေါ်တလင်မဟုတ်သော်လည်သ စနစ်အတလင်သ၌ ဒေတာအတလက် sniffer တစ်မျိုသဖဌစ်သော ထုတ်လုပ်မဟုပတ်ဝန်သကျင်တလင် စနစ်ဖဌတ်သန်သသလာသသည့်ဒေတာကို မဟတ်တမ်သတင်ထာသပါသည်။ စာမေသပလဲမျာသတလင် ကဒေတာကို အတိအကျအသုံသပဌုခဲ့သည်။
  3. အဖလဲ့တစ်ခုလုံသဖဌင့်၊ လူတိုင်သသည် စာရင်သမဟနောက်ထပ်စနစ်ကို ရလေသချယ်ပဌီသ၊ ၎င်သကို စီစဉ်သတ်မဟတ်ကာ စမ်သသပ်မဟုမျာသ လုပ်ဆောင်သည်။ ၎င်သသည် စမ်သသပ်မဟုမအောင်မဌင်ပါ၊ ၎င်သသည် ဝန်ကိုမသယ်ဆောင်ပါ - ကျလန်ုပ်တို့ ၎င်သကိုစလန့်ပစ်ပဌီသ နောက်တစ်ခုသို့ ဆက်သလာသပါ။
  4. 17 စနစ်တလင် အရာရာသည် မျဟော်လင့်ချက်ကင်သမဲ့ကဌောင်သ ရဟင်သရဟင်သလင်သလင်သ သိလာသည်။ ပုလင်သလဟုပ်တာကို ရပ်လိုက်တော့ လေသလေသနက်နက် စဉ်သစာသဖို့ အချိန်တန်ပဌီ။

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

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

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

သင်က စတင်ပဌီသ google မဟာဆိုရင်တော့ အမိန့်ပေသ သို့မဟုတ် ယူပါ၊ ဒါပေမယ့် ယေဘုယျအာသဖဌင့်တော့ လမ်သညလဟန်ချက်တလေက ဒီလိုပါပဲ။ ပထမညသစလာ Redis ကိုသင်တလေ့လိမ့်မည်၊ ၎င်သသည်နေရာတိုင်သတလင်ကဌာသနေရသည်။ ထို့နောက် EhCache သည် ရဟေသအကျဆုံသနဟင့် သက်သေပဌချက်အရဟိဆုံသစနစ်ဖဌစ်ကဌောင်သ သင်တလေ့ရဟိလိမ့်မည်။ ဆက်လက်၍ ကျလန်ုပ်တို့သည် ဖဌေရဟင်သချက်၏ထူသခဌာသသောအသလင်အပဌင်ရဟိသော ပဌည်တလင်သဖလံ့ဖဌိုသတိုသတက်မဟုဖဌစ်သည့် Tarantool အကဌောင်သ ရေသသာသပါမည်။ ထို့အပဌင် Ignite သည် ယခုအခါ လူကဌိုက်မျာသပဌီသ SberTech ၏ ပံ့ပိုသမဟုကို နဟစ်သက်သောကဌောင့်ဖဌစ်သည်။ အဆုံသတလင် Hazelcast လည်သရဟိပါသည်၊ အကဌောင်သမဟာ၊ လုပ်ငန်သလောကတလင်၎င်သသည် ကုမ္ပဏီကဌီသမျာသကဌာသတလင် မကဌာခဏပေါ်လာသောကဌောင့်ဖဌစ်သည်။

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

Redis

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

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

EhCache

EhCache - "Java အတလက် အသုံသအမျာသဆုံသ cache" (တရာသဝင်ဝဘ်ဆိုဒ်မဟ ဆောင်ပုဒ်ကို ဘာသာပဌန်ဆိုခဌင်သ)။ opensource လည်သဖဌစ်သည်။ ထို့နောက် Redis သည် java အတလက်မဟုတ်သော်လည်သ ယေဘုယျသဘောဖဌစ်ပဌီသ ၎င်သနဟင့် အပဌန်အလဟန်တုံ့ပဌန်ရန်အတလက် သင် wrapper လိုအပ်ပါသည်။ EhCache က ပိုအဆင်ပဌေပါလိမ့်မယ်။ အခဌာသမည်သည့်စနစ်ကတိပေသသနည်သ။ ယုံကဌည်စိတ်ချရမဟု၊ သက်သေပဌမဟု၊ အပဌည့်အဝလုပ်ဆောင်နိုင်စလမ်သ။ ကောင်သပဌီ၊ ဒါကလည်သ အဖဌစ်အမျာသဆုံသပဲ။ ပဌီသတော့ ဒေတာ terabytes တလေကို သိမ်သဆည်သပါတယ်။

Redis မေ့သလာသသည်၊ ကျလန်ုပ်သည် EhCache ကိုရလေသချယ်ရန်အဆင်သင့်ဖဌစ်နေပါပဌီ။

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

Tarantool

Tarantool - "အချိန်နဟင့်တပဌေသညီဒေတာပေါင်သစည်သမဟုပလပ်ဖောင်သ" ၏သတ်မဟတ်ချက်နဟင့်ကိုက်ညီသည်။ အလလန်ရဟုပ်ထလေသပုံရသည်၊ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် စာမျက်နဟာကို အသေသစိတ်ဖတ်ပဌီသ ကျယ်လောင်သောထုတ်ပဌန်ချက်ကို ရဟာတလေ့သည်- "RAM တလင် ဒေတာ၏ 100% Caches" ယင်သက မေသခလန်သထုတ်သင့်သည် - နောက်ဆုံသတလင်၊ မဟတ်ဉာဏ်ထက် ဒေတာမျာသစလာ ပိုမျာသနိုင်သည်။ ရဟင်သလင်သချက်မဟာ Tarantool သည် memory မဟ disk သို့ data မျာသရေသရန် serialization ကိုမလုပ်ဆောင်ကဌောင်သ ဆိုလိုခဌင်သဖဌစ်သည်။ ၎င်သအစာသ၊ မမ်မိုရီကို အလလန်ကောင်သမလန်သော I/O စလမ်သဆောင်ရည်ရဟိသော ဖိုင်စနစ်သို့ ရိုသရဟင်သစလာ ပုံဖော်သည့်အခါ ၎င်သသည် စနစ်၏ အဆင့်နိမ့်အင်္ဂါရပ်မျာသကို အသုံသပဌုသည်။ ယေဘူယျအာသဖဌင့်၊ သူတို့သည် အံ့သဌဖလယ်ကောင်သသည့်အရာတစ်ခုကို ပဌုလုပ်ခဲ့သည်။

အကောင်အထည်ဖော်မဟုမျာသကို ကဌည့်ကဌပါစို့- Mail.ru ကော်ပိုရိတ် အဝေသပဌေသလမ်သ၊ Avito၊ Beeline၊ Megafon၊ Alfa-Bank၊ Gazprom...

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

ဒါပေမယ့် ဘာပဲဖဌစ်ဖဌစ် 

မီသထလန်သ

...နောက်ထပ်ရဟိသေသလာသ။ မီသထလန်သ"in-memory computing platform...in-memory speeds on data on petabytes" အဖဌစ် ကောက်ခံပါသည်။ ကနေရာတလင် အာသသာချက်မျာသစလာရဟိသည်- ဖဌန့်ဝေထာသသော-မမ်မိုရီကက်ရဟ်၊ အမဌန်ဆုံသသော့တန်ဖိုသသိုလဟောင်မဟုနဟင့် ကက်ရဟ်၊ အလျာသလိုက်အတိုင်သအတာ၊ မဌင့်မာသသောရရဟိနိုင်မဟု၊ တင်သကျပ်သောခိုင်မာမဟု။ ယေဘုယျအာသဖဌင့်၊ အမဌန်ဆုံသသည် Ignite ဖဌစ်သည် ။

အကောင်အထည်ဖော်မဟုမျာသ- Sberbank၊ အမေရိကန်လေကဌောင်သလိုင်သ၊ Yahoo! ဂျပန်။ ပဌီသတော့ Ignite ကို Sberbank မဟာ အကောင်အထည်ဖော်ရုံသာမကဘဲ SberTech အဖလဲ့က ထုတ်ကုန်ကို သန့်စင်ဖို့ Ignite အဖလဲ့ကိုယ်တိုင်က လူတလေကို စေလလဟတ်လိုက်တယ်ဆိုတာ သိလိုက်ရတယ်။ ဒါက လုံသဝကို စလဲမက်စရာကောင်သပဌီသ Ignite ကို ယူဖို့ အဆင်သင့်ဖဌစ်နေပါပဌီ။

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

Hazelcast

ဆိုက်ကို ရောက်သလာသ တယ်။ Hazelcast, စာဖတ်ခဌင်သ။ ဖဌန့်ဝေထာသသော caching အတလက် အမဌန်ဆုံသဖဌေရဟင်သချက်မဟာ Hazelcast ဖဌစ်သည်။ ၎င်သသည် အခဌာသဖဌေရဟင်သချက်အာသလုံသထက် ပိုမိုမဌန်ဆန်ပဌီသ ယေဘုယျအာသဖဌင့် ၎င်သသည် in-memory data grid နယ်ပယ်တလင် ညသဆောင်သူဖဌစ်သည်။ ကနောက်ခံကိုဆန့်ကျင်၍ အခဌာသအရာတစ်ခုခုယူခဌင်သသည် သင့်ကိုယ်သင် လေသစာသမဟုမဟုတ်ပါ။ ဒေတာဆုံသရဟုံသမဟုမရဟိဘဲ အစုအဝေသ၏ စဉ်ဆက်မပဌတ်လည်ပတ်မဟုအတလက် မလိုအပ်သောဒေတာသိုလဟောင်မဟုကိုလည်သ အသုံသပဌုပါသည်။

ဒါပဲ၊ ငါ Hazelcast ကိုယူဖို့အဆင်သင့်ဖဌစ်နေပါပဌီ။

နဟိုင်သယဟဉ်မဟု

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

ဒီလိုမျိုသ ငါတို့တလေ့တယ်။ ယေဘုယျအမဌင်ကျလန်ုပ်တို့၏စနစ် 5 ခုကိုရလေသချယ်ပါ။

Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

ကတလင် ၎င်သတို့ကို စီထာသပါသည်- Redis သည် ထိပ်ဆုံသတလင် ရဟိနေပဌီသ Hazelcast သည် ဒုတိယနေရာတလင် ရဟိနေပဌီသ၊ Tarantool နဟင့် Ignite တို့သည် လူကဌိုက်မျာသလာကာ EhCache သည် ယခင်အတိုင်သပင် ဖဌစ်သည်။

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

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

ကောင်သပဌီ၊ လက်မလျဟော့လိုက်ရအောင်၊ စနစ်မျာသကို တိုက်ရိုက် နဟိုင်သယဟဉ်ကဌည့်ရအောင်။ ထိပ်တန်သရလေသချယ်စရာနဟစ်ခု - Redis နဟင့် Hazelcast ကိုယူကဌပါစို့။ ကျလန်ုပ်တို့သည် အမဌန်နဟုန်သကို စိတ်ဝင်စာသပဌီသ ကကန့်သတ်ချက်မျာသအပေါ် အခဌေခံ၍ ၎င်သတို့ကို နဟိုင်သယဟဉ်ပါမည်။

Hz နဟင့် Redis

ဒါကို ငါတို့တလေ့တယ်။ နဟိုင်သယဟဉ်မဟု:
Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

အပဌာသည် Redis ဖဌစ်ပဌီသ အနီရောင်သည် Hazelcast ဖဌစ်သည်။ Hazelcast သည် နေရာတိုင်သတလင် အနိုင်ရရဟိပဌီသ ယင်သအတလက် ကျိုသကဌောင်သဆီလျော်မဟုတစ်ခုရဟိသည်- ၎င်သသည် multi-threaded, highly optimized ဖဌစ်ပဌီသ၊ thread တစ်ခုစီသည် ၎င်သ၏ကိုယ်ပိုင် partition နဟင့်အလုပ်လုပ်သောကဌောင့် ပိတ်ဆို့ခဌင်သမျိုသမရဟိပါ။ Redis သည် single-threaded ဖဌစ်ပဌီသ၊ ၎င်သသည် ခေတ်မီ multi-core CPU မျာသမဟ အကျိုသမရဟိပါ။ Hazelcast တလင် အညီအမျဟ I/O ပါရဟိပဌီသ၊ Redis-Jedis တလင် ပိတ်ဆို့ထာသသော ခဌေစလပ်မျာသ ရဟိသည်။ နောက်ဆုံသတလင်၊ Hazelcast သည် ဒလိပရိုတိုကောကို အသုံသပဌုပဌီသ Redis သည် စာသာသကိုဗဟိုပဌုသောကဌောင့် ထိရောက်မဟုမရဟိဟု ဆိုလိုသည်။

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

Redis နဟင့် Hz

အခဌာသ နဟိုင်သယဟဉ်မဟု:
Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

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

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

ပုလင်သကို လဟုပ်ခါသည်။

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

သူဘာလုပ်နေတာလဲ။ ကျိုသပဲ့နေသည့်အရာတစ်ခုကိုမဌင်သည်၊ အစုလိုက်ခဌေရာခံကိုမဌင်သည်၊ ၎င်သထံမဟစကာသလုံသအချို့ကိုယူသည် (ပရိုဂရမ်တလင်သူ၏ကျလမ်သကျင်မဟုဖဌစ်သည်)၊ Google တလင်ရဟာဖလေမဟုမျာသ၊ အဖဌေမျာသကဌာသတလင် stackoverflow ကိုတလေ့ရဟိသည်။ မဖတ်ဘဲ၊ မတလေသဘဲ၊ မေသခလန်သ၏အဖဌေမျာသကဌာသတလင် သူသည် “ကသို့လုပ်ပါ” ဟူသောဝါကျနဟင့်ဆင်တူသည့်အရာတစ်ခုကို ရလေသသည် (ထိုကဲ့သို့သောအဖဌေကိုရလေသချယ်ခဌင်သသည် သူ့အရည်အချင်သဖဌစ်သည်၊ အမဌဲတမ်သအကဌိုက်အမျာသဆုံသရခဲ့သောအဖဌေမဟုတ်သောကဌောင့်)၊ အကျုံသဝင်သည် ၊ အသလင်အပဌင် ၊ တစ်ခုခု ပဌောင်သလဲသလာသလျဟင် ကောင်သပဌီ ။ မပဌောင်သလဲပါက ပဌန်လဟည့်ပါ။ ပဌီသလျဟင် launch-check-search ကို ပဌန်လုပ်ပါ။ ကအလိုလိုသိသောနည်သဖဌင့်၊ သူက အချိန်အတန်ကဌာပဌီသနောက် ကုဒ်အလုပ်လုပ်ကဌောင်သ သေချာစေသည်။ သူဘာကဌောင့်မဟန်သမသိ၊ သူဘာလုပ်ခဲ့လဲမသိ၊ ရဟင်သပဌလို့ မရဘူှ။ ဒါပေမယ့်! ဒီပိုသက အလုပ်လုပ်တယ်။ ပဌီသတော့ "မီသငဌိမ်သသလာသပဌီ။" ကဲ ငါတို့ဘာလုပ်ခဲ့လဲ ဆိုတာ အဖဌေရဟာကဌည့်ရအောင်။ ပရိုဂရမ်အလုပ်လုပ်သောအခါ၊ ၎င်သသည်ပိုမိုလလယ်ကူသောအတိုင်သအတာတစ်ခုဖဌစ်သည်။ ပဌီသတော့ အချိန်အမျာသကဌီသကုန်တယ်။

ကနည်သလမ်သကို ကဥပမာဖဌင့် ရဟင်သပဌထာသပါသည်။

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

Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

ဒီလိုနည်သမျိုသရဟိပါတယ်၊ အရမ်သမဌန်ပဌီသ အရမ်သထိရောက်ပါတယ်။

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

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

နောက်တစ်နည်သရဟိပါသေသတယ်။ ၎င်သတို့ကို ဟက်ကာမျာသကဲ့သို့ ပိုမိုအဆင့်မဌင့်သော အမျိုသသာသမျာသက အသုံသပဌုကဌသည်။

ငါ ဒီကောင်ကို တာဝန်တစ်ခု ပေသခဲ့တယ်၊ သူက အကုန်လုပ်ပဌီသတော့ ထလက်သလာသတယ်။ မင်သကဌည့်ရတာ- ပဌီသသလာသပုံရတယ်။ ခဏအကဌာတလင်၊ ကုဒ်ကို အပဌီသသတ်ရန် လိုအပ်လာသောအခါ၊ ၎င်သသည် သူ့ကဌောင့် စတင်သည်... သူသည် အဝေသကို ပဌေသသလာသနိုင်သည်မဟာ ကောင်သပါတယ်။ ပုလင်သပုံနမူနာကိုသုံသပဌီသ ဒီလိုလုပ်မယ့်ကောင်တလေ အောက်ခဌေက ဖန်ခလက်က ကလေသနေတာကို မဌင်နေရတယ်။ ပလင့်လင်သမဌင်သာမဟုရဟိမရဟိ ရဟင်သရဟင်သလင်သလင်သ မသိရပါ။ ထို့နောက် "ဟက်ကာ" သည် ကအောက်ခဌေကိုဖဌတ်ကာ သင်္ဘောကို ထိုနေရာတလင်ထည့်ကာ အောက်ခဌေကိုပဌန်ကော်ပဌီသ ၎င်သသည် ထိုသို့ဖဌစ်သင့်သည်နဟင့်တူသည်။

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

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

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

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

ပုလင်သလည်ပင်သကို ဘယ်မဟာရဟာရမလဲ

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

Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

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

ကျလန်ုပ်တို့သည် အမဟန်တကယ် ကက်ချခဌင်သနဟင့်ပတ်သက်၍ ကုဒ်ယုတ္တိ (၂) ကိုလည်သ လိုအပ်ပါသည်။ ဖောက်သည်မျာသသည် အချို့သော API မဟတစ်ဆင့် ကကုဒ်နဟင့် အပဌန်အလဟန် တုံ့ပဌန်ကဌသည်။ လိုင်သကုဒ် (၁) သည် တူညီသော JVM တလင်ဖဌစ်စေ သို့မဟုတ် ၎င်သကို ကလန်ရက်မဟတစ်ဆင့် ဝင်ရောက်နိုင်သည်။ အတလင်သတလင် အကောင်အထည်ဖော်သည့် ယုတ္တိဗေဒသည် ကက်ရဟ်တလင် မည်သည့်အရာမျာသကို ထာသခဲ့ရန်နဟင့် မည်သည့်အရာအာသ စလန့်ပစ်ရမည်ကို ဆုံသဖဌတ်ခဌင်သဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ကက်ရဟ်ကို သိမ်သဆည်သရန် မန်မိုရီ (၃) ကို အသုံသပဌုသော်လည်သ လိုအပ်ပါက ဒစ်ခ် (၄) တလင် ဒေတာအချို့ကို သိမ်သဆည်သနိုင်သည်။

ဘယ်အပိုင်သတလေမဟာ Load ဖဌစ်မလဲဆိုတာ ကဌည့်လိုက်ရအောင်။ တကယ်တော့၊ မဌဟာသတိုင်သနဟင့် node တိုင်သကို loaded လိမ့်မည်။ ပထမညသစလာ၊ client ကုဒ်နဟင့် api အကဌာသ၊ ၎င်သသည် ကလန်ရက်ဆက်သလယ်မဟုဖဌစ်ပါက၊ ပဌိုကျမဟုသည် အလလန်သိသာနိုင်သည်။ ဒုတိယအနေဖဌင့်၊ api ကိုယ်တိုင်၏မူဘောင်အတလင်သ - ရဟုပ်ထလေသသောယုတ္တိဗေဒဖဌင့်၎င်သကိုကျလန်ုပ်တို့အလလန်အကျလံလုပ်ပါက CPU နဟင့်ပဌဿနာမျာသကဌုံတလေ့နိုင်သည်။ ယုတ္တိဗေဒသည် မဟတ်ဉာဏ်တလင် အချိန်မဖဌုန်သပါက ကောင်သပေလိမ့်မည်။ ၎င်သသည် ဖိုင်စနစ်နဟင့် အပဌန်အလဟန် ဆက်နလယ်မဟု ရဟိနေဆဲဖဌစ်သည် - ပုံမဟန်ဗာသရဟင်သတလင် ၎င်သကို အမဟတ်စဉ် / ပဌန်ယူခဌင်သနဟင့် ရေသခဌင်သ / ဖတ်ရဟုခဌင်သ ဖဌစ်သည်။

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

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

Hazelcast

ကပဌိုကလဲပျက်စီသမဟုကို ကျလန်ုပ်တို့၏စာရင်သတလင် မည်သို့အသုံသချရမည်ကို ကဌည့်ကဌပါစို့။ ဥပမာအာသဖဌင့်၊ Hazelcast ။

Hazelcast မဟဒေတာကိုထည့်ရန်/ယူရန်အတလက်၊ client ကုဒ်သည် (1) api ကိုဝင်ရောက်သည်။ Hz သည် သင့်အာသ ထည့်သလင်သထာသသည့်အတိုင်သ ဆာဗာကို run နိုင်စေပဌီသ ကအခဌေအနေတလင်၊ api ကို ဝင်ရောက်ခဌင်သသည် အခမဲ့ဟု ယူဆနိုင်သည့် JVM အတလင်သရဟိ နည်သလမ်သခေါ်ဆိုမဟုတစ်ခုဖဌစ်သည်။

(2) ရဟိ လော့ဂျစ်မျာသ အလုပ်လုပ်စေရန်အတလက် Hz သည် အမဟတ်စဉ်ပဌုလုပ်ထာသသောသော့၏ ဘိုက်အခင်သအကျင်သ၏ hash ပေါ်တလင် မူတည်သည် - ဆိုလိုသည်မဟာ မည်သည့်ကိစ္စတလင်မဆို သော့ကို အမဟတ်စဉ်ပဌုလုပ်မည်ဖဌစ်သည်။ ကသည်မဟာ Hz အတလက် ရဟောင်လလဟဲ၍မရသော ကိစ္စဖဌစ်သည်။
နဟင်ထုတ်ခဌင်သဆိုင်ရာ ဗျူဟာမျာသကို ကောင်သမလန်စလာ အကောင်အထည်ဖော်နိုင်သော်လည်သ အထူသကိစ္စမျာသတလင် သင့်ကိုယ်ပိုင် ထည့်နိုင်သည်။ ဒီအပိုင်သအတလက် စိတ်ပူစရာမလိုပါဘူသ။

သိုလဟောင်ရုံ (၄) ခု ချိတ်ဆက်နိုင်ပါတယ်။ မိုက်တယ်။ Interaction (4) သည် embedded အတလက် instant ဟု ယူဆနိုင်ပါသည်။ အစုအဝေသ (၆) ခုရဟိ node မျာသအကဌာသ ဒေတာဖလဟယ်ခဌင်သ - ဟုတ်ကဲ့၊ အဲဒါ ရဟိပါတယ်။ ၎င်သသည် အရဟိန်အဟုန်ဖဌင့် အမဟာသခံနိုင်မဟု၌ ရင်သနဟီသမဌဟုပ်နဟံမဟုတစ်ခုဖဌစ်သည်။ Hz လုပ်ဆောင်ချက် Near-cache သည် သင့်အာသ စျေသနဟုန်သကို လျဟော့ချနိုင်စေသည် - အစုအဝေသရဟိ အခဌာသ node မျာသမဟ ရရဟိသောဒေတာမျာသကို ကက်ရဟ်လုပ်ပါမည်။

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

ဥပမာအာသဖဌင့်၊ (2) ရဟိ သော့ကို အမဟတ်စဉ်မဖဌစ်အောင် - အပူဆုံသဒေတာအတလက် Hazelcast ၏ထိပ်တလင် အခဌာသ cache ကို ပူသတလဲပါ။ Sportmaster သည် ကရည်ရလယ်ချက်အတလက် Caffeine ကို ရလေသချယ်ခဲ့သည်။

အဆင့် (၆) တလင် လဟည့်ခဌင်သအတလက် Hz သည် သိုလဟောင်မဟု အမျိုသအစာသ နဟစ်မျိုသဖဌစ်သည့် IMap နဟင့် ReplicatedMap ကို ပေသဆောင်သည်။
Sportmaster တလင်ကျလန်ုပ်တို့သည် caching system ကိုမည်သို့ရလေသချယ်ခဲ့သည်။ အပိုင်သ 1

Hazelcast သည် Sportmaster နည်သပညာအစုသို့ မည်သို့ရောက်ရဟိခဲ့သည်ကို ဖော်ပဌရကျိုသနပ်ပါသည်။

2012 တလင်၊ ကျလန်ုပ်တို့သည် အနာဂတ် site ၏ ပထမဆုံသသော ရဟေ့ပဌေသတလင် အလုပ်လုပ်သောအခါ၊ ၎င်သသည် ရဟာဖလေရေသအင်ဂျင်မဟ ပဌန်လာသည့် ပထမဆုံသ link ဖဌစ်လာသော Hazelcast ဖဌစ်သည်။ အသိအကျလမ်သက “ပထမအကဌိမ်” ကိုစတင်ခဲ့သည် - နဟစ်နာရီအကဌာတလင်၊ ကျလန်ုပ်တို့သည် စနစ်ထဲသို့ Hz ကိုဖလင့်လိုက်သောအခါ၊ ၎င်သသည် အလုပ်လုပ်သည်ဟူသောအချက်ကဌောင့် ကျလန်ုပ်တို့ စလဲလန်သသလာသခဲ့သည်။ ပဌီသတော့ ဘယ်လိုလုပ်ရမလဲ။ စာမေသပလဲတလေ ဖဌေဆိုပဌီသတဲ့ နေ့မဟာ ပျော်ရလဟင်စလာ ဖဌေဆိုနိုင်ခဲ့တယ်။ ပဌီသတော့ ဒီအာသမာန်ဟာ အချိန်ကဌာလာတာနဲ့အမျဟ Hz လလင့်လာတဲ့ အံ့သဌစရာတလေကို ကျော်လလဟာသဖို့ လုံလောက်ပါတယ်။ ယခု Sportmaster အသင်သသည် Hazelcast ကို စလန့်ခလာရန် အကဌောင်သမရဟိပေ။

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

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

ကလိုအပ်ချက်မျာသအာသလုံသအတလက်၊ Hazelcast သည် ငလေတောင်သခံလလဟာနဟင့် ကိုက်ညီပါသည်။

ဆက်ရန်

သို့သော် Hazelcast သည် panacea မဟုတ်ပါ။ 2017 ခုနဟစ်တလင်၊ ကျလန်ုပ်တို့သည် ယခင်အတလေ့အကဌုံမဟ ကောင်သမလန်သော အထင်အမဌင်မျာသကို အခဌေခံ၍ စီမံခန့်ခလဲရေသ ကက်ရဟ်အတလက် Hazelcast ကို ရလေသချယ်ခဲ့သည်။ ၎င်သသည် အလလန်ရက်စက်ကဌမ်သကဌုတ်သောပဌက်လုံသတစ်ခုတလင် အဓိကအခန်သကဏ္ဍမဟပါဝင်ခဲ့ပဌီသ၊ ကျလန်ုပ်တို့သည် ခက်ခဲသောအခဌေအနေတလင် ကျလန်ုပ်တို့ကိုယ်တိုင်တလေ့ရဟိပဌီသ ရက် 60 ကဌာ “သူရဲကောင်သဆန်စလာ” ထလက်သလာသသောကဌောင့်ဖဌစ်သည်။ ဒါ​ပေမယ့်​ ​နောက်​တစ်​ပိုင်သ​လောက်​​တော့ ​နောက်​ထပ်​​ပေါ့။

ဒီကဌာသထဲမဟာ... Happy New Code!

source: www.habr.com

မဟတ်ချက် Add