လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> 【 Php Microssvice ဗိသုကာလက်တွေ့အကျင့်စိစ Chipributed message queues နှင့်ဆက်သွယ်ရေးကိုနားလည်သဘောပေါက်ရန်ပြည့်စုံသောမဟာဗျူဟာ

【 Php Microssvice ဗိသုကာလက်တွေ့အကျင့်စိစ Chipributed message queues နှင့်ဆက်သွယ်ရေးကိုနားလည်သဘောပေါက်ရန်ပြည့်စုံသောမဟာဗျူဟာ

M66 2025-06-22

နိဒါန်း

အင်တာနက်စီးပွားရေးကိုစဉ်ဆက်မပြတ်တိုးချဲ့ခြင်းဖြင့်စနစ်၏ရှုပ်ထွေးမှုလည်းတိုးပွားလာသည်။ ပိုမိုမြင့်မားသောရရှိမှု, ဤဗိသုကာလက်အောက်တွင်သတင်းများအရ 0 န်ဆောင်မှုများအကြားပြတ်ပြတ်သောဆက်သွယ်ရေးအတွက်အရေးကြီးသောယန္တရားတစ်ခုဖြစ်လာသည်။ ဤဆောင်းပါးသည်ဖြန့်ဝေထားသောမက်ဆေ့ခ်ျများနှင့်ဆက်သွယ်ရေးနည်းစနစ်များကိုအကောင်အထည်ဖော်ရန် PHP Microssvice ဗိသုကာလက်ရာများကို အသုံးပြု. Rabbitmq, HTTP နှင့် RPC တို့ပေါင်းစပ်ခြင်းတို့တွင်အသေးစိတ်ရှင်းလင်းချက်များကိုအသေးစိတ်လေ့လာရန်ဤဆောင်းပါးသည်အသေးစိတ်လေ့လာသုံးသပ်ရမည်။

Microssvice ဗိသုကာလက်ရာခြုံငုံသုံးသပ်ချက်

Monolithic application များကိုသေးငယ်သော 0 န်ဆောင်မှုအုပ်စုတစ်ခုသို့ Monolithic applications များကိုခွဲထုတ်သောဗိသုကာပုံစံဖြစ်သည်။ 0 န်ဆောင်မှုတစ်ခုစီကိုသီးခြားစီးပွားရေးလုပ်ငန်းများပတ် 0 န်းကျင်တွင်တည်ဆောက်ထားပြီးလွတ်လပ်သောဒေတာဘေ့စ်, ဖြန့်ကျက်ခြင်းနှင့်ပြုပြင်ထိန်းသိမ်းမှုလုပ်ငန်းစဉ်ရှိသည်။ ပေါ့ပါးသောဆက်သွယ်ရေးယန္တရားများကို HTTP, RPC သို့မဟုတ် Message Queue ကဲ့သို့သော 0 န်ဆောင်မှုများအကြားအသုံးပြုသည်။ ဤဗိသုကာသည်စနစ်ပြောင်းလွယ်ပြင်လွယ်ခြင်း, အမှားအထီးကျန်စွမ်းရည်များနှင့်တုန့်ပြန်မှုမြန်နှုန်းကိုတိုးတက်စေသည်။

PHP တွင်ဖြန့်ဝေထားသောမက်ဆေ့ခ်ျများတန်းစီအကောင်အထည်ဖော်မှု

ဖြန့်ဝေထားသောပတ် 0 န်းကျင်တွင်သတင်းတပင်များသည်တောင်းဆိုမှုများကို allamchronously တောင်းဆိုမှုများကိုတိုးမြှင့်ခြင်း, RabbitMQ ကိုလက်ရှိတွင်ဖြန့်ဝေထားသော Messaging Messaging Messagedware ကိုကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသောစာနယ်ဇင်းများနှင့်ဘာသာစကားမျိုးစုံကိုထောက်ပံ့သည်။

RabbitMQ installation နှင့်အသုံးပြုမှု

ပထမ ဦး စွာ, RabbitMQ ကို install လုပ်ရန်လိုအပ်ပြီး operating system ပေါ်တွင် အခြေခံ. ၎င်း၏တရားဝင်ဝက်ဘ်ဆိုက်တွင်တပ်ဆင်ခြင်းညွှန်ကြားချက်များကိုသင်ရယူနိုင်သည်။ တပ်ဆင်မှုပြီးဆုံးသွားသောအခါအခြေခံထုတ်လုပ်သူနှင့်စားသုံးသူပုံစံကိုအောက်ပါ PHP ကုဒ်မှတဆင့်အကောင်အထည်ဖော်နိုင်သည်။

RabbitMQ ထုတ်လုပ်သူနှင့်စားသုံးသူဥပမာများ

___once __dir __ ။ '/ vendor / autoload.php';

phpamqplib \ connection \ amqpstramonconConnection ကိုသုံးပါ။
phpamqplib \ message \ amqpmessage ကိုသုံးပါ။

// ထုတ်လုပ်သူ $ ဆက်သွယ်မှု = amqpstramconconnection ('localhost', Guest ည့်သည် '', 'ည့်သည်'),
$ channel = $ ဆက်သွယ်မှု -> ရုပ်သံလိုင်း ();
$ channel-> grique_declare ('ဟဲလို' ', မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသောအယူမှား,

$ msg = amqpmessage အသစ် ('Hello World!');
$ Channel-> Basic_Publish ($ msg '', 'ဟဲလို');

ECHO "[X] 'ဟဲလို World!' \ n";

$ channel-> အနီးကပ် ();
$ ဆက်သွယ်မှု -> အနီးကပ် ();
// စားသုံးသူ $ ဆက်သွယ်မှု = amqpstramconnection ('localhost', 5672, Guest ည့်သည် ',
$ channel = $ ဆက်သွယ်မှု -> ရုပ်သံလိုင်း ();
$ channel-> grique_declare ('ဟဲလို' ', မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသောအယူမှား,

ECHO "[*] မက်ဆေ့ခ်ျများကိုစောင့်ဆိုင်းရန် Ctrl + C \ n";

$ callback = function ကို ($ msg) {
  Echo '[X] ကိုလက်ခံရရှိ', $ msg-> body "," \ n ",
};

$ Channel-> Basic_consume ('Hello' ', "မင်္ဂလာပါ' ', မှား, မှား, မှားယွင်းသော, မှားယွင်းသော,

နေစဉ် ($ channel-is_consuming ()) {
  $ channel->> စောင့်ဆိုင်း;
}

ထုတ်လုပ်သူများနှင့်စားသုံးသူများကို run ပါ

Terminal တွင်အောက်ပါ command များကို run ပါ။

PHP PHOTER.php
PHP Consumer.php

အပြေးပြီးနောက်ထုတ်လုပ်သူသည်မက်ဆေ့ခ်ျကိုလူတန်းသို့ပို့ပေးပြီးစားသုံးသူနားထောင်ခြင်းနှင့်စာများကိုရေးဆွဲသည်။ ဤယန္တရားသည်စားသုံးသူပေါင်းစုံတစ်ပြိုင်တည်းပြုပြင်ခြင်းနှင့်စနစ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။

MicrosIvice ဆက်သွယ်ရေးနည်းလမ်း

Microsservices အကြားဆက်သွယ်မှုသည် System စစ်ဆင်ရေးတွင်အဓိကချိတ်ဆက်မှုတစ်ခုဖြစ်သည်။ အောက်ပါတို့သည်အဓိကဆက်သွယ်ရေးနည်းစနစ်များဖြစ်သည်။

1 ။ 0 န်ဆောင်မှုဆိုင်ရာဆက်သွယ်ရေးအတွက် HTTP ကိုသုံးပါ

နိုင်ငံမဲ့တောင်းဆိုမှုများအတွက်သင့်လျော်သောအသုံးအများဆုံး 0 န်ဆောင်မှုပေးသည့်ဆက်သွယ်ရေး protocol ဖြစ်သည်။ PHP မှအသုံးပြုလေ့ရှိသော http client ကို gozle ။

'ရောင်းချသူ / autoload.php လိုအပ်သည်';

guasthttp \ client ကိုသုံးပါ။

$ client = ဖောက်သည်အသစ် (),
$ တုံ့ပြန်မှု = $ client-> တောင်းဆိုမှု ('Get' ',' https://xplos.com ');
ECHO $ ​​တုံ့ပြန်မှု -> GETBOIL ();

2 ။ ထိရောက်သောခေါ်ဆိုမှုများပြုလုပ်ရန် RPC protocol ကိုသုံးပါ

RPC (Remote လုပ်ထုံးလုပ်နည်းခေါ်ဆိုမှု) သည်ဝေးလံခေါင်သီသော 0 န်ဆောင်မှုများကိုဒေသခံလုပ်ဆောင်ချက်များကဲ့သို့ Microservice များအကြားခေါ်ယူရန်ခွင့်ပြုသည်။ PHP ရှိ RPC ကိုထောက်ပံ့သောစာကြည့်တိုက်များမှာ GRPC နှင့် Thrift ပါဝင်သည်။

quant_once 'ရောင်းချသူ / autoload.php';

helloworld \ hellequest ကိုသုံးပါ။
Helloworld \ HearterCledient ကိုသုံးပါ။

$ client = GourerCledient ('localhost: 50051')
  'အထောက်အထားများ' => GRPC \ channelcreedentials :: CluinineSecure (),
]);

$ တောင်းဆိုချက် = New Shell New SHOW;
$ query-> Setname ('World');

$ တုံ့ပြန်မှု = $ client-> Sayhello ($ တောင်းဆိုမှု);
ECHO $ ​​တုံ့ပြန်မှု -> GetMessage (),

3 ။ မက်ဆေ့ခ်ျကိုတန်းစီနှင့်အတူပြတ်တောင်းပြတ်တောင်းဆက်သွယ်မှု

ယခင်ဆောင်းပါးတွင် 0 န်ဆောင်မှုများအကြားပြတ်တောင်းဖြန့်ချိမှုများကိုအကောင်အထည်ဖော်ရန် RabbitMQ အသုံးပြုခြင်းကိုပြသသည်။ ဤနည်းလမ်းသည်အားကြီးသော decoupling, အမှားခံနိုင်ရည်ရှိခြင်းနှင့်ကောင်းမွန်သောစကေးနိုင်မှု၏အားသာချက်များရှိသည်။ ၎င်းသည်လုပ်ငန်းခွင်တန်းစီ, သစ်ထုတ်လုပ်ခြင်းနှင့်အမိန့်ထုတ်ယူခြင်းကဲ့သို့သောဖြစ်ရပ်များအတွက်သင့်တော်သည်။

အကျဉ်းချုပ်

PHP မှတစ်ဆင့် Microssvice ဗိသုကာတစ်ခုတည်ဆောက်ခြင်းနှင့်ဖြန့်ဝေထားသောမက်ဆေ့ခ်ျများတန်းစီခြင်းနှင့်ဆက်သွယ်ရေးယန္တရားများကိုပေါင်းစည်းခြင်းနှင့်ဆက်သွယ်ရေးယန္တရားများကိုပေါင်းစပ်ခြင်းကခေတ်မီမြင့်မားသောစွမ်းဆောင်ရည်စနစ်များကိုတည်ဆောက်ရန်အရေးကြီးသောနည်းလမ်းဖြစ်သည်။ RabbitMQ သည် 0 န်ဆောင်မှုများအကြားထိထိရောက်ရောက်ဆက်သွယ်ရေးကိုထိထိရောက်ရောက်ဖြည့်ဆည်းပေးနိုင်သည်။ HTTP သည်ပုံမှန် 0 န်ဆောင်မှုခေါ်ဆိုမှုများအတွက်သင့်တော်သည်။ ဤနည်းပညာများကိုပေါင်းစပ်ခြင်းသည်စနစ်၏ကြံ့ခိုင်မှုနှင့်တုန့်ပြန်မှုကိုများစွာတိုးတက်စေနိုင်သည်။