အင်တာနက်နည်းပညာလျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူကွန်ရက်စာမျက်နှာများနှင့် applications များပိုမိုများပြားလာခြင်းနှင့်အတူတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုကိုင်တွယ်ရန်လိုအပ်သည်။ 0 တ်ထုဆိုင်ရာဆက်သွယ်ရေးစနစ်ကိုပိုမိုကောင်းမွန်စေရန်အထူးအရေးကြီးသည်။ ဤဆောင်းပါးသည် PHP ကို PHP မြင့် 0 င်ပါ 0 င်သော 0 က်င်တွင်သတင်းဆက်သွယ်မှုကိုမည်သို့ကောင်းမွန်အောင်ပြုလုပ်ရမည်ကိုလေ့လာလိမ့်မည်။
Message Queue သည်အများအားဖြင့်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင်အသုံးပြုသောဖြေရှင်းချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်ယုတ္တိဗေဒကိုပြန်လည်ပြုပြင်ခြင်းနှင့်ပြောင်းရွှေ့ခြင်းများကိုဆက်လက်လုပ်ဆောင်ခြင်းနှင့်ပြတ်ပြတ်သားသားထုတ်လုပ်မှုကိုတိုးမြှင့်ခြင်းဖြင့်စနစ်တကျပြောင်းလဲခြင်းအားဖြင့်တောင်းဆိုမှုများကိုထိရောက်စွာခွဲခြားနိုင်သည်။ PHP ရှိအသုံးများသော Message Tagner Tools များမှာ Beanstalkd, Rabbitmq စသည်တို့ပါဝင်သည်။
Beanstalkd ကို သုံး. Message Queue အပြောင်းအလဲအတွက်နမူနာကုဒ်ဖြစ်သည်။
<?php // ထုတ်ဖေါ်သူ $queue = new Pheanstalk\Pheanstalk('127.0.0.1'); $data = ['name' => 'John', 'အသက်' = >> 25]; $ Queue->> Usetube (Mytube ') -> ထည့်သွင်းခြင်း (JSONS_CETDEDED)); // စားသုံးသူ $ Queue = New Pheanstalk \ Phaneanstalk \ PHEANENSTALK ('127.0.0.1); $ Queue-> Watch (Mytube '); $ အလုပ် = $ Queue-> Reserve (), $ ဒေတာ = JSONS_Decode ($ အလုပ် -> GetData (), စစ်မှန်သော); $ Queue-> Delete ($ အလုပ်); // အပြောင်းအလဲနဲ့အချက်အလက်များ, ပြန်လာရလဒ်များစသည်တို့ကဲ့သို့သောစီးပွားရေးပြုပြင်ထုတ်လုပ်မှုကိုလုပ်ဆောင်ပါ။ >
မက်ဆေ့ခ်ျကိုတန်းစီများမှတဆင့်ကျွန်ုပ်တို့သည်ယုတ္တိဗေဒအပြောင်းအလဲများမှတောင်းဆိုမှုများကိုခွဲခြားနိုင်သည်။
တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင်တောင်းဆိုမှုတစ်ခုအတွက်လုပ်ငန်းစဉ်အသစ်တစ်ခုကိုစတင်ခြင်းသည်စနစ်အရင်းအမြစ်များကိုဖြုန်းတီးလိမ့်မည်။ လုပ်ငန်းစဉ်ရေကူးကန်နည်းပညာကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်လုပ်ငန်းစဉ်များကိုပိုမိုထိရောက်စွာစီမံနိုင်သည်။ PHP တွင် SWOOLE extension သည်အလွန်အဆင်ပြေသောလုပ်ငန်းစဉ်များကိုအလွန်အဆင်ပြေသောလုပ်ငန်းစဉ်များကိုထောက်ပံ့ပေးသည်။
SWOOLE လုပ်ငန်းစဉ်ရေကန်ကိုသုံးပြီးတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုကိုင်တွယ်ရန်အတွက် code species ဖြစ်သည်။
<?php // လုပ်ငန်းစဉ်ရေကန်တစ်ခုဖန်တီးပါ $pool = new Swoole\Process\Pool(10); // POOL ဖြစ်ရပ်များကိုနားထောင်ပါ $pool->('0 န်ဆောင်မှုပေးခြင်း', function ကို ($ pool, $ witleid) { // လုပ်ငန်းစဉ်တစ်ခုစီ၏စီးပွားရေးပြုပြင်ခြင်းယုတ္တိဗေဒ}); // စတင်ခြင်းလုပ်ငန်းစဉ်ရေကန် $ Pool-> စတင် (); // လုပ်ငန်းစဉ်ကိုတောင်းဆိုခြင်းနှင့်လုပ်ငန်းစဉ် Pool $ တောင်းဆိုမှု = joint = swoole_http_Request; $ တုံ့ပြန်မှု = အသစ် swoole_http_Response; $ Pool-> SendMessage (['တောင်းဆိုခြင်း' => $ တောင်းဆိုခြင်း, 'Response's Response =>> $ တုန့်ပြန်)); // လုပ်ငန်းစဉ်ရေကန်ဖြစ်ရပ်မှန်ကိုပြုပြင်ခြင်းယုတ္တိဗေဒ $ Pool-> On ('Message', function ($ pool, $ message) { $ Request = $ မက်ဆေ့ခ်ျ ['တောင်းဆိုမှု']; $ တုံ့ပြန်မှု = $ မက်ဆေ့ခ်ျ ['response']; // အပြောင်းအလဲနဲ့တောင်းဆိုမှုများ, ပြန်လာရလဒ်များစသဖြင့်စီးပွားရေးပြုပြင်ထုတ်လုပ်မှုကိုပြုလုပ်ပါ။ }); >
Processing Progining နည်းပညာသည်လုပ်ငန်းစဉ်ဖန်တီးမှု၏ overehead ကိုထိထိရောက်ရောက်လျှော့ချနိုင်သည်။
IO စစ်ဆင်ရေးများကိုညှိနှိုင်းခြင်းကစနစ်ကိုဖြည်းဖြည်းချင်းတုံ့ပြန်ရန်စနစ်ကိုဖြစ်ပေါ်စေလိမ့်မည်။ asynchronous non-blocking IO ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စနစ်၏တုန့်ပြန်မှုမြန်နှုန်းကိုသိသိသာသာတိုးမြှင့်နိုင်သည်။ Swoole extension သည်အားကောင်းသောပြတ်တောင်းပြတ်တောင်း IO စစ်ဆင်ရေးအထောက်အပံ့ကိုထောက်ပံ့ပေးသည်။
SWOOLE ကိုအသုံးပြုပြီးပြတ်တောင်းပြတ်တောင်းမရှိသော IO ကိုအကောင်အထည်ဖော်ရန်ဥပမာကုဒ်ဖြစ်သည်။
<?php // asynchronous Non- ပိတ်ဆို့ခြင်းဖန်တီးပါIOဆာဆာ $server = new Swoole\Http\Server('127.0.0.1', 9501, SWOOLE_PROCESS, SWOOLE_SOCK_ASYNC); // 监听ဆာဆာ事件 $server-> ('start', function ကို ($ ဆာဗာ) တွင် ECHO "server ကိုစတင်ခဲ့သည်", }); //, ဖြစ်ရပ်များကိုတောင်းဆိုခြင်း $ ဆာဗာ -> On ('တောင်းဆိုချက်', function ကို ($ တောင်းဆိုမှု, $ တုံ့ပြန်မှု) { // စီးပွားရေးအပြောင်းအလဲနဲ့လုပ်ပြီးရလဒ်ကိုပြန်ပို့ပါ}; // ဆာဗာ $ ဆာဗာကိုစတင်ပါ။ >
ပြတ်ပြတ်သားသားပိတ်ဆို့ခြင်းမဟုတ်သော IO မှတစ်ဆင့်ကျွန်ုပ်တို့သည်စနစ်၏တုန့်ပြန်မှုမြန်နှုန်းကိုတိုးမြှင့်နိုင်ပြီးတစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်စွမ်းကိုတိုးတက်စေနိုင်သည်။
0 က်ဘ်ဆိုက်များနှင့် application များ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အတွက် Messaging စနစ်များကိုစနစ်တကျစနစ်တကျစနစ်များကိုအကောင်းဆုံးပြုလုပ်ခြင်းသည်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည်အများအားဖြင့်အသုံးပြုသော optimization နည်းလမ်းသုံးခုကိုမိတ်ဆက်ပေးသည်။ ဤနည်းပညာများကိုဆင်ခြင်တုံတရားဖြင့် အသုံးပြု. စနစ်၏တစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်စွမ်းကိုထိထိရောက်ရောက်တိုးတက်အောင်လုပ်နိုင်သည်, ပိုမိုကောင်းမွန်သောအတွေ့အကြုံများဖြင့်အသုံးပြုသူများကိုပိုမိုကောင်းမွန်စွာလုပ်ဆောင်နိုင်ပြီးအသုံးပြုသူများကိုပိုမိုကောင်းမွန်သောအတွေ့အကြုံရှိစေနိုင်သည်။