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