0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုနှင့် 0 န်ဆောင်မှုသည်ဖြန့်ဖြူးထားသောစနစ်များကိုတည်ဆောက်သည့်အခါအဓိကလုပ်ဆောင်ချက်များကိုဖြစ်သည်။ 0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုသည် 0 န်ဆောင်မှုများနှင့်၎င်းတို့၏ကွန်ယက်တည်နေရာများကိုစနစ်ရှိ 0 န်ဆောင်မှုများကိုအလိုအလျောက်ခွဲခြားရန်အသုံးပြုသည်။ စနစ်၏မြင့်မားသောရရှိနိုင်မှုနှင့်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် 0 န်ဆောင်မှုဖြစ်ရပ်များအတွက် 0 န်ဆောင်မှုဖြစ်ရပ်များကိုဖြန့်ဖြူးရန်လိုသည်။
ဤဆောင်းပါးသည် Php Microsvices ပိုင်သ 0 ဏတွင်ဤလုပ်ဆောင်မှုနှစ်ခုကိုအကောင်အထည်ဖော်ရန်အတွက်တိကျသောနည်းလမ်းများနှင့်ဥပမာကုဒ်များကိုမျှဝေမည်။
0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှု၏ရည်ရွယ်ချက်မှာရရှိနိုင်သည့် 0 န်ဆောင်မှုဖြစ်ရပ်များအားလုံးကိုရှာဖွေပြီးအခြား 0 န်ဆောင်မှုများသို့ကွန်ယက်တည်နေရာကိုရှာဖွေရန်ဖြစ်သည်။ PHP Microsvicine တွင် 0 န်ဆောင်မှုဖြစ်ရပ်များကို registry မှတဆင့်စီမံခန့်ခွဲနိုင်သည်။ Registry ဆိုသည်မှာစနစ်ရှိရရှိနိုင်သည့် 0 န်ဆောင်မှုများနှင့်၎င်းတို့၏ကွန်ယက်သတင်းအချက်အလက်အားလုံးကိုမှတ်တမ်းတင်ထားသည့်ဗဟို 0 န်ဆောင်မှုတစ်ခုဖြစ်သည်။
Registry ကို အသုံးပြု. 0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည့် PHP PHP ဥပမာဖြစ်သည်။
Class Registry { ပုဂ္ဂလိက static $ 0 န်ဆောင်မှု = []; အများပြည်သူပိုင်ငြိမ် function ကိုမှတ်ပုံတင်ထားသောမှတ်ပုံတင် ($ servicenename, $ host, $ port) { Self :: $ 0 န်ဆောင်မှုများ [$ servicename] [] = [] = [] = [] = [] = [] 'Host' => $ host, 'port' => $ port, ]; } အများပြည်သူ static function ကို alwervice ($ servicenename) { $ 0 န်ဆောင်မှုများ = မိမိကိုယ်ကို :: $ 0 န်ဆောင်မှုများ [$ servicename] ?? []; $ အညွှန်းကိန်း = MT_RAND (0, COUME ($ 0 န်ဆောင်မှု) - 1); $ 0 န်ဆောင်မှုများ [$ index] ကိုပြန်သွားပါ။ null; } } Registry :: Gisterservice ('localhost', 'localhost', 8001; Registry :: Gisterservice ('localhost', 'localhost', 8002), Registry :: Gisterservice ('Worder-Service', 'localhost', 9001); $ userervice = registry :: Registry ('User-service'); $ orderservice = registry :: Registervice ('အမိန့်ဝန်ဆောင်မှု'); ပဲ့တင်သံ "အသုံးပြုသူဝန်ဆောင်မှု -" ။ $ userervice ['host'] ။ "" - "" ။ $ userervice ['port'] ။ "\ n"; ပဲ့တင်သံ "အမိန့်ဝန်ဆောင်မှု -" ။ $ orderservice ['host'] ။ "" - "" ။ $ orderservice ['port'] ။ "\ n";
Registry class ကို 0 န်ဆောင်မှုများမှတ်ပုံတင်ခြင်းနှင့်ရယူရန်ဥပမာတွင်သတ်မှတ်ထားသည်။ 0 န်ဆောင်မှုဥပမာတစ်ခုမှတ်ပုံတင်ရန် Gigsesserverververyervice နည်းလမ်းကိုအသုံးပြုသည်။ developer များသည် 0 န်ဆောင်မှုသက်တမ်းကုန်ဆုံးရက်များသို့မဟုတ်ကျန်းမာရေးစစ်ဆေးမှုများကိုထည့်သွင်းခြင်းကဲ့သို့သော 0 ယ်လိုအားအပေါ် အခြေခံ. လုပ်ဆောင်မှုများကိုတိုးချဲ့နိုင်သည်။
0 န်ဆောင်မှုနည်းခြင်း Balancing သည် 0 န်ဆောင်မှုများအနက်တောင်းဆိုမှုများကိုဖြန့်ဝေခြင်းဖြင့်စနစ်ကိုမြင့်မားခြင်းနှင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေသည်။ PHP Microsvicine တွင်အများအားဖြင့်အသုံးပြုသော algorithms များတွင်မဲရုံ, ကျပန်းရွေးချယ်ခြင်းနှင့်အလေးချိန်ကျပန်းတို့ပါဝင်သည်။
ဤတွင်မဲဆန္ဒရှင်များကိုထိန်းညှိပေးသည့် PHP PHAP ဥပမာတစ်ခုမှာ algorithm:
class loadbalancer { ပုဂ္ဂလိက static $ 0 န်ဆောင်မှု = []; ပုဂ္ဂလိက static $ index = 0; အများပြည်သူသုံး function addservice ($ servicename, $ host, $ port) { Self :: $ 0 န်ဆောင်မှုများ [$ servicename] [] = [] = [] = [] = [] = [] 'Host' => $ host, 'port' => $ port, ]; } အများပြည်သူ static function ကို alwervice ($ servicenename) { $ 0 န်ဆောင်မှုများ = မိမိကိုယ်ကို :: $ 0 န်ဆောင်မှုများ [$ servicename] ?? []; $ အညွှန်းကိန်း = မိမိကိုယ်ကို :: $ အညွှန်းကိန်း% အရေအတွက် ($ ဝန်ဆောင်မှုများ); Self :: $ index ++; $ 0 န်ဆောင်မှုများ [$ index] ကိုပြန်သွားပါ။ null; } } loadbalancer :: addservice ('user-service', 'localhost', 8001); loadbalancer :: addservice ('user-service', 'localhost', 8002); Loadbalancer :: AddService ('Wordalhost', 'localhost', 9001); အတွက် ($ i = 0; $ i <10; $ i ++) { $ userservice = loadyancer :: glasservice ('user-service'); ပဲ့တင်သံ "အသုံးပြုသူဝန်ဆောင်မှု -" ။ $ userervice ['host'] ။ "" - "" ။ $ userervice ['port'] ။ "\ n"; }
ဥပမာတွင်ဝန်ဆောင်မှုများကို 0 န်ဆောင်မှုပေးရန်အတွက် 0 န်ဆောင်မှုသာဓကများနှင့်စစ်တမ်းကောက်ယူရန် loadbalancer အတန်းကိုအသုံးပြုသည်။ အညွှန်းကိန်းကိုထိန်းသိမ်းခြင်းအားဖြင့်သင် Glasservice ဟုခေါ်သည့်အခါတိုင်းနောက် 0 န်ဆောင်မှုပေးသည့်ဥပမာအားဖြင့်ရိုးရိုးမဲရုံများကိုထိန်းညှိပေးသည်။
0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုနှင့် Load Balancing သည် PHP Microssvice ဗိသုကာလက်ရာများ၏အခြေခံဖြစ်သည်။ 0 န်ဆောင်မှုများဖြစ်ရပ်များကိုတူညီစွာစီမံရန် Registry ကိုအသုံးပြုပါ။ ဤဆောင်းပါးတွင်ဖော်ပြထားသောဥပမာများသည်အကောင်အထည်ဖော်မှုအပေါ်အခြေခံသည်။