Swoole:面向生產環境的 PHP 異步網絡通信引擎
使 PHP 開發人員可以編寫高性能的異步並發 TCP、UDP、Unix Socket、HTTP,WebSocket 服務。Swoole 可以廣泛應用於互聯網、移動通信、企業軟件、雲計算、網絡游戲、物聯網(IOT)、車聯網、智能家居等領域。 使用 PHP + Swoole 作為網絡通信框架,可以使企業 IT 研發團隊的效率大大提升,更加專注於開發創新產品。
Swoole 使用純 C 語言編寫,提供了 PHP 語言的異步多線程服務器,異步 TCP/UDP 網絡客戶端,異步 MySQL,異步 Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端。
除了異步 IO 的支持之外,Swoole 為 PHP 多進程的模式設計了多個並發數據結構和IPC通信機制,可以大大簡化多進程並發編程的工作。其中包括了並發原子計數器,並發 HashTable,Channel,Lock,進程間通信IPC等豐富的功能特性。
Swoole2.0 支持了類似 Go 語言的協程,可以使用完全同步的代碼實現異步程序。PHP 代碼無需額外增加任何關鍵詞,底層自動進行協程調度,實現異步。
Workerman是一款開源高性能異步PHP socket即時通訊框架。
支持高並發,超高穩定性,被廣泛的用於手機app、移動通訊,微信小程序,手游服務端、網絡游戲、PHP聊天室、硬件通訊、智能家居、車聯網、物聯網等領域的開發。 支持TCP長連接,支持Websocket、HTTP等協議,支持自定義協議。擁有異步Mysql、異步Redis、異步Http、MQTT物聯網客戶端、異步消息隊列等眾多高性能組件。
Workerman支持的特性
- 純PHP開發,多進程支持,支持php7,支持hhvm
- 支持TCP/UDP,單機可支持數百萬以上TCP長連接
- 支持分布式部署,集群能支持數百萬甚至更高的並發TCP連接
- 支持libevent事件觸發網絡庫
- 支持熱更新及服務器平滑重啟
- 擁有異步Mysql、Redis、Dns等眾多高性能組件
總結:
熟悉Larval框架的開發者使用Swoole,熟悉TP框架的開發者使用Workerman。
