點擊右上方,關注開源中國OSC頭條号,獲取最新技術資訊
beyod: 一個高性能分布式、事件驅動、異步非阻塞php socket網絡應用框架
beyod是基于libevent/epoll/Yii2 Framework的高性能分布式、事件驅動、異步非阻塞php實現的socket網絡服務開發框架。 具備可擴展的網絡協議支持架構,可以開發任何TCP/UDP層上的網絡應用。可用于物聯網、網絡遊戲、WEB、WebSocket、服務器推送、分布式網絡應用服務等領域。
PHP被廣泛用于web開發領域,但在socket服務方式較少使用,導緻形成了一種錯誤的觀點:PHP隻能用于網站。
事實上,PHP通過模塊方式可以擴展自身功能,内置的socket支持, 完全可以實現一個socket服務器。
借助Libui擴展,也可以實現桌面軟件界面的開發。
beyod, 是beyond的縮寫,意思是另一個,另一邊的的意思,所以beyod的目的也是尋求php在另外一個領域的(socket服務器)實踐。
==beyod本質是以PHP命令行方式運行實現完整的socket服務器,所以它無須nginx/Apache/php-fpm環境,就可以獨立運行。==
beyod吸收并借鑒了Nginx/ReactPHP/Workerman/Swoole/Yii/等流行的技術方案,從而實現快速開發網絡應用服務。
特性:
- 事件驅動、異步非阻塞、多進程單線程架構(Nginx/node.js相同的進程架構)。
- 純PHP代碼實現,所有代碼開源,開發參考易于上手。
- 高性能,PHP命令行長駐内存方式運行, 省去了傳統的基于請求的資源分配和釋放。另外得益于基于libevent非阻塞網絡模型,不必為每個連接分配線程或進程。
- 支持大量并發連接,理論上,隻要内存足夠大,連接數是無上限的。測試中,單機10萬tcp連接時,消耗内存僅2.4GB。
- 穩定可靠,可長時間運行, 工作進程崩潰自動恢複。
- 使用Master-worker方式的多進程、單線程模型。實現了工作進程異常崩潰後的自動重啟, 我們熟知的Nginx也使用了Master-worker進程模型,從而實現進程高可用性。
- 豐富的網絡協議支持
- 支持TCP、UDP、Unix、SSL, 内置HTTP/WebSocket/Async Redis/Async TCP Client, 并支持自定義數據包解析,從而實現任何應用層協議。
- SSL/reuse_port/cluster dispatcher/工作進程平滑重啟等特性, 單個進程中可實現多端口監聽、多個協議支持。
- 毫秒級定時器。
- 基于Yii2 Console框架開發,Yii2是一個事件驅動高性能主流PHP框架,内置完整的PHP命令行運行支持,内置功能模塊豐富,組件化架構使整個系統易于擴展。
- 豐富的數據庫支持和組件化擴展。
- 得益于yii框架的底層支持,支持大量的業務層功能需求,熟悉Yii web框架者可以直接上手實現業務層功能。
- beyod不僅是一個網絡底層開發框架,更是一個網絡應用開發框架,可快速實現業務功能。
- 易于擴展,beyod使用composer/psr标準結構,可以很容易使用第三方PHP框架實現業務功能。
點擊下方“了解更多”,獲取軟件下載地址。
↓↓↓
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!