當前位置:
首頁 > 知識 > PHP 的非同步進程助手

PHP 的非同步進程助手

async-helper 簡介 PHP 的非同步進程助手,藉助於 AMQP 實現非同步執行 PHP 的方法,將一些很耗時、追求高可用、需要重試機制的操作放到非同步進程中去執行,將你的 HTTP 服務從繁重的業務邏輯中解脫出來。以一個較低的成本將傳統 PHP 業務邏輯轉換成非阻塞、高可用、可擴展的非同步模式。

依賴

安裝 通過 composer 安裝

或直接下載項目源碼

使用範例 業務邏輯:這裡定義了很多等待被調用的類和方法,在你的項目中這可能是數據模型、或是一個發送郵件的類。

生產者:通常是 HTTP 服務,傳統的 PHP 項目或是一個命令行程序,接收到某個請求或指令後進行一系列的操作。

消費者:PHP 的非同步進程,監聽消息隊列,執行你指定的方法。並且該消費者進程是可擴展的高可用的服務,這一切都得益於 AMQP,這是系統解耦、布局微服務的最佳方案。

consume.php

php consume.php 和傳統 PHP 相比 對任何 PHP 方法通過反射進行非同步執行; 高可用,執行方法進入消息隊列,即使伺服器宕機,執行任務也不丟失; 高可用,對異常可以進行不限次數和時間的重試,重試次數和時間可配置; 支持對多個非同步方法包含在事務中執行,支持回滾事務; 方法的參數類型支持除資源類型(resource)和回調函數(callable)外的任意類型的參數; 得益於 AMQP,非同步方法可以承受高並發、高負載,支持集群部署、橫向擴展; 低延時,實測延時時間 0.016 ~ 0.021s; 適用於:日常資料庫操作、日誌收集、金融交易、消息推送、發送郵件和簡訊、數據導入導出、計算大量數據生成報表; 附錄 安裝 memcached 安裝 rabbitmq 安裝 php7.1.5、ext-amqp、ext-memcached 安裝 supervisor

更多分享,敬請關注

本文來源網路,侵立刪!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PHP技術大全 的精彩文章:

php7擴展使用持久化hash
Nginx 啟用 Brotli 壓縮

TAG:PHP技術大全 |