Cloud Computing နှင့် Microssylice ဗိသုကာများမြင့်တက်လာခြင်းနှင့်အတူမြင့်မားသောရရှိနိုင်သည့်စနစ်များကိုတည်ဆောက်ခြင်းသည်အထူးအရေးကြီးသည်။ ဤဆောင်းပါးသည်အလွန်အမင်းရရှိနိုင်သည့် Microssvice ဗိသုကာလက်ရာများကိုဖန်တီးရန် PHP နှင့် Rabbitmq ကိုအသုံးပြုနည်းကိုလေ့လာနိုင်သည်။ ကျွန်ုပ်တို့သည် Microsistics အကြားဆက်သွယ်မှုကိုကြည့်ရှုရန် MicrodMQ အဖြစ်ယုန်ခရက်တာကိုမက်ဆေ့ခ်ျကိုပွဲစားအဖြစ်အသုံးပြုပါမည်။
သင်မစတင်မီတွင်သင့်အားအောက်ပါပတ် 0 န်းကျင်အခြေအနေများရှိပြီးသားသေချာအောင်လုပ်ပါ။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် Microsistics အကြားဆက်သွယ်ရေးအတွက်မက်ဆေ့ခ်ျကိုတန်းစီဖန်တီးရန်လိုအပ်သည်။ RabbitMQ နှင့် AMQP တိုးချဲ့ခြင်းကို အသုံးပြု. စာနယ်ဇင်းတန်းဥပါကိုဖန်တီးရန်ကုဒ်ဖြစ်သည်။
$ Queuename = 'Microsservice_queue'; $ ဆက်သွယ်မှု = အသစ် amqpconnection ([ 'host' => 'localhost', 'port' => '5672', 'vhost' => '/', 'login' => 'Guest', 'Password' => 'guest ည့်သည်' ]); $ channel = $ ဆက်သွယ်မှု -> ရုပ်သံလိုင်း (); $ Channel-> Queue_Declare ($ Queueename, False, false false);
ဤကုဒ်သည် 'MicrossLice_queue' ဟုခေါ်သောတန်းစီကိုဖန်တီးသည်။
Microssvice ဗိသုကာပညာတွင်ဆာဗာသည်တောင်းဆိုမှုကိုအပြောင်းအလဲနဲ့ရလဒ်များကိုပြန်ပို့ခြင်းအတွက်တာဝန်ရှိသည်။ ဤတွင်အခြေခံဆာဗာဘေးထွက်ကုဒ်ဥပမာတစ်ခုဖြစ်ပါတယ်။
$ Channel-> Basic_consume ($ Queueename '', မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, function ($ msg) $ message = json_decode ($ msg-> body, true); $ ရလဒ် = processrequest ($ message); // လုပ်ငန်းစဉ်စီးပွားရေးယုတ္တိဗေဒ $ တုန့်ပြန် = အသစ် amqpmessage (json_entode ($ ရလဒ်)); $ msg-> delivery_info ['channel's] -> Basic_Publish ($ တုန့်ပြန်မှု', $ msg-> get ('Reply_to')); $ msg-> delivery_info ['channel's] -> Basic_ack ($ msg-> delivery_info [' delivery_tag]); });
အထက်ပါကုဒ်များတွင်အခြေခံအားဖြင့်စာနယ်ဇင်းကို အခြေခံ. စာနယ်ဇင်းများကိုလက်ခံရရှိပြီးနောက် callback function ကိုလုပ်ဆောင်ပြီးနောက် client ကိုပြန်ပို့ပြီးရလဒ်ကိုပေးပို့ပြီးနောက် callback function ကို execute လုပ်ပါ။
Microssvice ဗိသုကာပညာတွင် 0 န်ဆောင်မှုခံယူသူသည်တောင်းဆိုမှုများကိုပေးပို့ခြင်းနှင့်ဆာဗာမှတုံ့ပြန်မှုများကိုလက်ခံခြင်းအတွက်တာဝန်ရှိသည်။ ဤတွင် client compice ၏ဥပမာတစ်ခုမှာ -
$ တောင်းဆိုမှု = [ 'Method' => 'Get', 'URL' => '/ user', 'ဒေတာ' => ['id' => 1] ]; $ Response = $ channel-> call ($ Queue_encode ($ တောင်းဆိုမှု)); $ ရလဒ် = JSON_Decode ($ တုံ့ပြန်မှု -> ခန္ဓာကိုယ်, ECHO $ ရလဒ်,
အထက်ပါကုဒ်သည်တောင်းဆိုမှုခင်းကျင်းမှုကိုတည်ဆောက်ပြီးဖုန်းခေါ်ဆိုမှုကိုစောင့်ဆိုင်းခြင်းနှင့်ရလဒ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းမှတဆင့်ဆာဗာသို့တောင်းဆိုမှုကိုပေးပို့သည်။
အထက်ပါကုဒ်များဥပမာများကိုအသုံးပြုခြင်းအားဖြင့်သင်သည်အလွန်အမင်းရရှိနိုင်သည့် Microssvice ဗိသုကာများကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်။ မတူကွဲပြားသောဆာဗာများပေါ်တွင်ဆာဗာများနှင့် 0 န်ဆောင်မှုခံယူသူများစွာကိုဖြန့်ချိခြင်းဖြင့်ထိရောက်သောဆက်သွယ်ရေးကိုရရှိနိုင်ပါသည်။
ကျေးဇူးပြု. RabbitMQ ကိုမှန်ကန်စွာပြင်ဆင်ပြီးစစ်ဆေးခြင်းမပြုမီနှင့်ဆက်သွယ်မှုဆိုင်ရာသတ်မှတ်ချက်များကိုလိုအပ်သလိုပြုပြင်ရန်သေချာအောင်လုပ်ပါ။
PHP နှင့် RabbitMQ မှတဆင့်ကျွန်ုပ်တို့သည်အလွန်အမင်းရရှိနိုင်သော Microssper စီချယ်ဒစ်ဗိသုကာများကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်။ RabbitMQ သည်ယုံကြည်စိတ်ချရသောမက်ဆေ့ခ်ျများတန်းစီ။ Microsistics အကြားပိုမိုရိုးရှင်းစေခြင်းနှင့် PHP ၏ AmQP တိုးချဲ့ခြင်းတို့ကမူ Rabbitmq နှင့်ချောမွေ့စွာပေါင်းစည်းရန်ခွင့်ပြုသည်။
ဤဆောင်းပါးသည် Microssvice ဗိသုကာလက်ရာများကိုအကောင်အထည်ဖော်ရန် PHP နှင့် RabbitMQ ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ ဤသင်္ကေတဥပမာများသည်အခြေခံလုပ်ဆောင်ချက်များကိုဖုံးကွယ်ထားသော်လည်းအမှန်တကယ် application များအရ 0 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုကဲ့သို့သောအချက်များကိုသင်စဉ်းစားရန်လိုအပ်သည်။