အင်တာနက်ကိုလျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူအချိန်မှန်တွန်းအားပေးလုပ်ဆောင်ချက်များသည်ခေတ်မီဝက်ဘ်ဆိုက်များနှင့် applications များ၏မရှိမဖြစ်လိုအပ်သောအစိတ်အပိုင်းများဖြစ်လာသည်။ သုံးစွဲသူများသည်နောက်ဆုံးပေါ်သတင်းအချက်အလက်များကိုအချက်အလက်အပြောင်းအလဲများနှင့်အမြန်ဆုံးသတင်းအချက်အလက်များကိုရယူနိုင်ရန်ကူညီနိုင်သည်။ Real-time push လုပ်ဆောင်ချက်များကိုတီထွင်သောအခါ PHP Message Waide Weeting Technology သည်ဘုံဖြေရှင်းနည်းဖြစ်သည်။ ဤဆောင်းပါးသည် PHPM Message Waquewing နည်းပညာဖြင့်အချိန်နှင့်တပြေးညီတွန်းအားပေးလုပ်ငန်းများကိုမည်သို့အကောင်အထည်ဖော်ရန်နှင့်၎င်း၏လျှောက်လွှာများနှင့်အားသာချက်များကိုလေ့လာရန်မည်သို့အသေးစိတ်ဖော်ပြထားသည်။
Message Queue များသည် Usnchonous communication များကိုအကောင်အထည်ဖော်သည့်နည်းပညာများကိုအကောင်အထည်ဖော်သည့်နည်းပညာများကိုအကောင်အထည်ဖော်သည့်နည်းပညာများဖြစ်သည်။ PHP Message Queue များကိုမက်ဆေ့ခ်ျ proxy ဆာဗာများမှတဆင့်အကောင်အထည်ဖော်နိုင်သည့် PHP Proxy Servers များတို့တွင်စာနယ်ဇင်းတန်းစီမှတစ်ဆင့် developer များကအချက်အလက်များကိုလူတန်းစားသို့ပေးပို့နိုင်သည်။ ၎င်းသည်တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုကိုင်တွယ်ရာတွင်စနစ်၏စွမ်းဆောင်ရည်နှင့်ပမာဏကိုသိသိသာသာတိုးတက်စေနိုင်သည်။
PHP Message Queue များကိုအသုံးပြုရန်သင်သည်မက်ဆေ့ခ်ျ proxy server ကို install လုပ်ရန်နှင့် configure လုပ်ရန်လိုအပ်သည်။ RabbitMQ ကိုဥပမာတစ်ခုအနေဖြင့်ယူပြီးအောက်ပါအဆင့်များမှတဆင့်ဒေသခံဆာဗာတစ်ခုတည်ဆောက်နိုင်သည်။
တေးရေးဆရာ Php-Amqplib / Rabbitmq-bundle လိုအပ်သည်
တပ်ဆင်မှုပြီးဆုံးသွားသောအခါ PHP တွင် Rabbitmq client library ကိုလည်းတပ်ဆင်ရန်လိုအပ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် `Php-Amqplib` စာကြည့်တိုက်ကို composer မှတစ်ဆင့် composer မှတဆင့်တပ်ဆင်နိုင်သည်။ ဤစာကြည့်တိုက်သည် RabbitMQ နှင့်ဆက်သွယ်ရန်အခြေခံလုပ်ဆောင်ချက်ဖြစ်သည်။
ထုတ်လုပ်သူသည်လူတန်းသို့စာများပေးပို့ခြင်းအတွက်တာဝန်ရှိသည့်အစိတ်အပိုင်းဖြစ်သည်။ အမှန်တကယ် application များအနေဖြင့်ထုတ်လုပ်သူသည်ဝက်ဘ်စာမျက်နှာတစ်ခုသို့မဟုတ်နောက်ခံဇာတ်ညွှန်းတစ်ခုဖြစ်နိုင်သည်။ PHP ကို အသုံးပြု. RabbitMQ သို့စာတိုပေးပို့ခြင်း၏ရိုးရှင်းသောဥပမာ -
<?php
require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPConnection;
use PhpAmqpLib\Message\AMQPMessage;
$connection = new AMQPConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection-> Channel ();
$ Channel-> Queue_declare ('Push_queue', မှားယွင်းသော, မှားယွင်းသော, မှားယွင်းသော,
$ message = amqpmessage အသစ် ('ဟဲလို, ကမ္ဘာ!);
$ Channel-> Basic_Publish ($ message '', 'Push_queue';
$ channel-> အနီးကပ် ();
$ ဆက်သွယ်မှု -> အနီးကပ် ();
>
ဤဥပမာတွင်ထုတ်လုပ်သူသည် Ruspack_queue ဟုအမည်ရှိ RabbitMQ မှတစ်ဆင့်စာတစ်စောင်ပို့သည်။ ထို့နောက်စားသုံးသူများမည်သို့အောင်မြင်ရန်မည်သို့ဆွေးနွေးမည်ကိုဆွေးနွေးပါမည်။
စားသုံးသူသည်မက်ဆေ့ခ်ျတန်းမှဒေတာများကိုရယူရန်နှင့်ဖောက်သည်ထံသို့တွန်းပို့ခြင်းအတွက်တာဝန်ရှိသည့်အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်စားသုံးသူများသည်ပုံမှန်အားဖြင့်အချက်အလက်များကိုအချက်အလက်များကိုတွန်းအားပေးရန်ဝက်ဘ်ဆိုက်သို့မဟုတ်ရှည်လျားသောစစ်တမ်းများကဲ့သို့သောနည်းပညာများကိုအသုံးပြုကြသည်။ ဤနေရာတွင် websocket ကို အသုံးပြု. မက်ဆေ့ခ်ျများကိုတွန်းအားပေးခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
class PushServer implements MessageComponentInterface {
private $clients;
public function __construct() {
$this-> client များ = အသစ် sprojectstorage;
}
Public Function Onopen (ဆက်သွယ်မှု $ conn) {
$ -> clients-> ပူးတွဲမှု ($ con);
}
အများပြည်သူ function ကို onmessage onmessage (cannectinationface $, $ MSG) {
foreach ($ ဒီ -> ဖောက်သည်အဖြစ် $ client အဖြစ်) {
$ client-> Send ($ MSG);
}
}
Public Function Onclose (ဆက်သွယ်မှု $ conn) {
$ -> clients-> detch ($ cons);
}
Public function OnError (Consegenthace $ Conn, \ ခြွင်းချက် $ င) {
$ conn-> အနီးကပ် ();
}
}
$ pushserver = အသစ် pushserver;
$ server = ioserver :: စက်ရုံ (
httpserver အသစ် (
Wsserver အသစ် (
$ pushserver
)
),
8080
);
$ ဆာဗာ -> Run ();
>
ဤဥပမာတွင်စားသုံးသူသည် 0 က်ဘ်ဆိုက်ပရိုတိုကောဖြင့် client နှင့်ဆက်သွယ်မှုကိုတည်ထောင်ပြီးအချက်အလက်များကိုစာတိုဖြင့် client သို့ client သို့ဖြတ်သန်းသည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အခြေခံသတင်းစကားကိုတွန်းအားပေးခြင်းအပြင်စစ်မှန်ကြောင်းအထောက်အထားခြင်း, မက်ဆေ့ခ်ျကိုဇွဲရှိခြင်း, မက်ဆေ့ခ်ျစီစစ်ခြင်းစသည့်အချက်များကိုထည့်သွင်းစဉ်းစားရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, မက်ဆေ့ခ်ျကိုဇွဲမဆိုယန္တရားများကိုအသုံးပြုခြင်းအားဖြင့်စနစ်ပျက်သွားရင်တောင်မက်ဆေ့ခ်ျများပျောက်ဆုံးနေသည်။ authentication မှတဆင့်, တရားဝင်အသုံးပြုသူများသာတွန်းအားပေးမက်ဆေ့ခ်ျကိုလက်ခံရရှိနိုင်ကြောင်းသေချာပါစေ။
PHPM Message Queue နည်းပညာမှတစ်ဆင့် Real-time push လုပ်ဆောင်ချက်များကိုရေးဆွဲခြင်းသည် 0 က်ဘ်ဆိုက်များနှင့် application များ၏တုံ့ပြန်မှုမြန်နှုန်းနှင့်အချိန်နှင့်တပြေးညီတိုးတက်လာနိုင်သည်။ မက်ဆေ့ခ်ျ Queue များသည်ထိရောက်သောပြတ်တောင်းပြတ်တောင်းဆက်သွယ်မှုကိုအထောက်အကူပြုရုံသာမကအခြား 0 န်ဆောင်မှုများမှလည်းဖြိုခွဲနိုင်သည်။ သေးငယ်သောအသုံးချပရိုဂရမ်များတည်ဆောက်ခြင်းသို့မဟုတ်အကြီးစားဖြန့်ဝေထားသောစနစ်များတည်ဆောက်ခြင်းရှိမရှိ, ဆင်ခြင်တုံတရားဆိုင်ရာမက်ဆေ့ခ်ျများအလိုက်ပြင်ဆင်ခြင်းသည် developer များကိုပိုမိုအားကောင်းသောပံ့ပိုးမှုဖြင့်ပေးနိုင်သည်။