ယေဘုယျအမြင်
မျက်မှောက်ခေတ် application ဖွံ့ဖြိုးတိုးတက်မှုတွင်စာတိုပေးပို့ရေးသည်အရေးကြီးသောဆက်သွယ်ရေးယန္တရားတစ်ခုဖြစ်လာသည်။ RabbitMQ သည်လူကြိုက်များသောမက်ဆေ့ခ်ျကိုတန်းတူ Middleware ကဲ့သို့ထိရောက်သောနှင့်ယုံကြည်စိတ်ချရသောစာတိုပေးပို့ရေးအတွက်ကျွန်ုပ်တို့ကိုကူညီနိုင်သည်။ ဤဆောင်းပါးသည် PHP နှင့် RabbitMQ ကို အသုံးပြု. ဤစာတိုပေးပို့ရေးယန္တရားကိုမည်သို့အကောင်အထည်ဖော်နိုင်မည်နည်း,
RabbitMQ ကို Install လုပ်ပါ
ပထမ ဦး စွာယဗွန်စီကိုထည့်သွင်းရန်လိုအပ်သည်။ သင်၏ operating system အရသက်ဆိုင်ရာ installation package ကိုရွေးပြီးတရားဝင်စာရွက်စာတမ်းများတွင်ခြေလှမ်းများအရထည့်သွင်းနိုင်သည်။ တပ်ဆင်မှုပြီးပြည့်စုံပြီးသောအခါ Rabbitmq 0 န်ဆောင်မှုကိုအောင်မြင်စွာစတင်နိုင်အောင်သေချာအောင်လုပ်ပါ။
PHPM AMQP extension ကို install လုပ်ပါ
PHP အတွက် RabbitMQ နှင့်ဆက်သွယ်ရန်အတွက် AMQP တိုးချဲ့မှုကို install လုပ်ရန်လိုအပ်သည်။ အောက်ပါ command ကိုသုံးနိုင်သည်။
# $ PECL install လုပ်ရန် PECL command ကိုသုံးပါ AMQP ကို install လုပ်ရန်
# $ composer ကို install လုပ်ရန် Composer ကိုအသုံးပြုပါ PHP-Amqplib / php-amqplib လိုအပ်သည်
RabbitMQ နှင့်ဆက်သွယ်ပါ
PHP တွင် RabbitMQ ကိုချိတ်ဆက်သောအခါ Host, Port, Username နှင့် Password များစသည်တို့အပါအ 0 င်လိုအပ်သော connection parameters များကိုသင်လိုအပ်သည်။ ဤနေရာတွင်ဆက်သွယ်မှုကိုတည်ဆောက်ရန်ဥပမာကုဒ်ဖြစ်သည်။
__Dir__ __DIRT_ONCECE ။ '/vendor/autoload.php';
$ ချိတ်ဆက်မှု = PHPAMQPLIB \ ဆက်သွယ်မှု \ AMQPSTSTEAMCORCOCECECECECECECECY
'localhost', 5672, Guest ည့်သည် '',
);
$ channel = $ ဆက်သွယ်မှု -> ရုပ်သံလိုင်း ();
မက်ဆေ့ခ်ျကိုတန်းစီဖန်တီးပါ
RabbitMQ ကိုအသုံးပြုပြီးတဲ့အခါမှာစာတွေသိုလှောင်ဖို့အတွက်တန်းစီဖန်တီးဖို့လိုတယ်။ အောက်ဖော်ပြပါကုဒ်သည် PHP တွင်တန်းစီမည်သို့ဖန်တီးရမည်ကိုပြသသည်။
$ Queuename = 'my_queue'; // Queue အမည် $ $ changele_declare ($ Queueuename, false false, false false);
မက်ဆေ့ခ်ျပို့ပါ
အောက်ပါကုဒ်နှင့်အတူဖန်တီးထားသောတန်းစီသို့မက်ဆေ့ခ်ျများပေးပို့နိုင်သည်။
$ msg = phpamqplib \ စာအသစ် \ message \ amqpmessage ('Hello RabbitMQ!);
$ Channel-> Basic_Publish ($ MSG, ', $ Queename);
မက်ဆေ့ခ်ျကိုလက်ခံရရှိခြင်းနှင့်အတည်ပြုပါ
မက်ဆေ့ခ်ျများကိုလက်ခံရရှိသည့်စာကိုစားသုံးသူမှတဆင့်လုပ်ဆောင်သည်။ ဤတွင်စားသုံးသူအတွက်နမူနာကုဒ်ဖြစ်သည်။
$ callback = function ကို ($ msg) {
ပဲ့တင်သံ '' လက်ခံရရှိသတင်းစကား: '' ။ $ msg-> ခန္ဓာကိုယ်။ "\ n";
$ msg-> delivery_info ['channel's] -> Basic_ack ($ msg-> delivery_info [' delivery_tag]);
};
$ Channel-> Basic_consume ($ Queueename '', မှားယွင်းသော, မှန်ကန်သော, မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော,
စဉ် (ရေတွက် ($ channel-> callbacks))
$ channel->> စောင့်ဆိုင်း;
}
ဤကုဒ်တွင်ကျွန်ုပ်တို့သည်မက်ဆေ့ခ်ျများလက်ခံရန်နှင့်လုပ်ငန်းစဉ်အတွက် callback function ကိုဖန်တီးသည်။ မက်ဆေ့ခ်ျကိုပြုပြင်ပြီးတဲ့နောက် Basic_ack နည်းလမ်းကိုစာတိုကိုအောင်မြင်စွာပြုပြင်ပြီးပြီဆိုတာကိုအတည်ပြုဖို့အသုံးပြုသည်။
ဆက်သွယ်မှုကိုပိတ်ပါ
စာတိုပေးပို့ရေးပြီးဆုံးပြီးနောက် RabbitMQ နှင့်ဆက်သွယ်မှုကိုပိတ်ရန်မမေ့ပါနှင့်။
$ channel-> အနီးကပ် ();
$ ဆက်သွယ်မှု -> အနီးကပ် ();
အကျဉ်းချုပ်
PHP ကို RabbitMQ နှင့်ပေါင်းစပ်ပြီးယုံကြည်စိတ်ချရသောစာတိုပေးပို့ရေးယန္တရားများကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤဆောင်းပါးတွင် RabbitMQ နှင့် AMQP တိုးချဲ့ချက်များကိုမည်သို့တပ်ဆင်ရမည်ကိုဖော်ပြပြီး PROUP အတွက် PHP ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။ သင်၏လျှောက်လွှာ၏ယုံကြည်စိတ်ချရမှုကိုတိုးတက်စေရန် RabbitMQ ကိုနားလည်ရန်နှင့်အသုံးပြုရန်ဤဆောင်းပါးသည်သင့်အတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုမျှော်လင့်ပါ။