လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် RabbitMQ ကို အသုံးပြု. ယုံကြည်စိတ်ချရသောစာတိုပေးပို့ရေးကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း

PHP နှင့် RabbitMQ ကို အသုံးပြု. ယုံကြည်စိတ်ချရသောစာတိုပေးပို့ရေးကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း

M66 2025-06-21

ယေဘုယျအမြင်

မျက်မှောက်ခေတ် 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 ကိုနားလည်ရန်နှင့်အသုံးပြုရန်ဤဆောင်းပါးသည်သင့်အတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုမျှော်လင့်ပါ။