လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် Rabbitmq နှင့်မြင့်မားသောရရှိနိုင်သည့် Microssyservice ဗိသုကာလက်ရာများကိုတည်ဆောက်ရန်လမ်းညွှန်အပြည့်အစုံ

PHP နှင့် Rabbitmq နှင့်မြင့်မားသောရရှိနိုင်သည့် Microssyservice ဗိသုကာလက်ရာများကိုတည်ဆောက်ရန်လမ်းညွှန်အပြည့်အစုံ

M66 2025-06-29

PHP နှင့် Rabbitmq ကို အသုံးပြု. မြင့်မားသောရရှိနိုင်သည့် Microsservice ဗိသုကာလက်ရာများကိုမည်သို့တည်ဆောက်ရမည်နည်း

Cloud Computing နှင့် Microssylice ဗိသုကာများမြင့်တက်လာခြင်းနှင့်အတူမြင့်မားသောရရှိနိုင်သည့်စနစ်များကိုတည်ဆောက်ခြင်းသည်အထူးအရေးကြီးသည်။ ဤဆောင်းပါးသည်အလွန်အမင်းရရှိနိုင်သည့် Microssvice ဗိသုကာလက်ရာများကိုဖန်တီးရန် PHP နှင့် Rabbitmq ကိုအသုံးပြုနည်းကိုလေ့လာနိုင်သည်။ ကျွန်ုပ်တို့သည် Microsistics အကြားဆက်သွယ်မှုကိုကြည့်ရှုရန် MicrodMQ အဖြစ်ယုန်ခရက်တာကိုမက်ဆေ့ခ်ျကိုပွဲစားအဖြစ်အသုံးပြုပါမည်။

ပြင်ဆင်မှု

သင်မစတင်မီတွင်သင့်အားအောက်ပါပတ် 0 န်းကျင်အခြေအနေများရှိပြီးသားသေချာအောင်လုပ်ပါ။

  • RabbitMQ ကို Install လုပ်ပါ။ RabbitMQ ကို install လုပ်ပြီး server ပေါ်တွင်မှန်ကန်စွာပြုပြင်ရန်သေချာအောင်လုပ်ပါ။
  • PHP MEMPP extension ကို Install လုပ်ပါ - PHP တွင် AMQP extension ကို install လုပ်ရန်လိုအပ်သည်။ ၎င်းသည် PECL (သို့) လက်ဖြင့်စုစည်းနိုင်သည်။
  • Composer ကို Install လုပ်ပါ - PHP မှီခိုမှုကိုစီမံရန်တေးရေးဆရာကိုသုံးပါ။

မက်ဆေ့ခ်ျကိုတန်းစီဖန်တီးပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် 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 လုပ်ပါ။

client တစ်ခုဖန်တီးပါ

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 န်ဆောင်မှုရှာဖွေတွေ့ရှိမှုကဲ့သို့သောအချက်များကိုသင်စဉ်းစားရန်လိုအပ်သည်။