Workerman是純PHP開發的開源高效能的PHP socket 服務框架。 (建議學習: workerman教學)
Workerman不是重複造輪子,它不是一個MVC框架,而是一個更底層更通用的socket服務框架,你可以用它來開發tcp代理、梯子代理、做遊戲伺服器、郵件伺服器、ftp伺服器、甚至開發一個php版本的redis、php版本的資料庫、php版本的nginx、php版本的php-fpm等等。
Workerman可以說是PHP領域的創新,讓開發者徹底擺脫了PHP只能做WEB的束縛。
實際上Workerman類似一個PHP版本的nginx,核心也是多進程 Epoll 非阻塞IO。
Workerman每個進程能維持上萬並發連線。由於本身常住內存,不依賴Apache、nginx、php-fpm這些容器,擁有超高的效能。
同時支援TCP、UDP、UNIXSOCKET,支援長連接,支援Websocket、HTTP、WSS、HTTPS等通訊協以及各種自訂協定。擁有定時器、非同步socket客戶端、非同步Mysql、非同步Redis、非同步Http、非同步訊息佇列等眾多高效能元件。
Workerman的一些應用程式方向如下:
1、即時通訊類別例如網頁即時聊天、即時訊息推送、微信小程式、手機app訊息推送、PC軟體訊息推送等等[範例workerman-chat聊天室、web訊息推播、小蝌蚪聊天室]
2、物聯網類別例如Workerman與印表機通訊、與單晶片通訊、智慧手環、智慧家庭、共享單車等等。 [客戶案例如 易聯雲、易泊時代等]
3、遊戲伺服器類別 例如棋牌遊戲、MMORPG遊戲等等。 [範例browserquest-php]
4、SOA服務化利用Workerman將現有業務不同功能單元封裝起來,以服務的形式對外提供統一的接口,達到系統鬆耦合、易維護、高可用、易伸縮。 [範例workerman-json-rpc、 workerman-thrift]
5、其它伺服器軟體例如GatewayWorker,PHPSocket.IO,http代理,sock5代理,分散式通訊元件,分散式變數共享元件,訊息佇列、 DNS伺服器、WebServer、CDN伺服器、FTP伺服器等等
6、中間件例如非同步MySQL元件,非同步redis元件,非同步http元件,非同步訊息佇列元件,非同步dns元件,檔案監控元件,還有很多第三方開發的元件框架等等
顯然傳統的mvc框架很難實現以上的功能,所以也就是workerman誕生的原因。
以上是workerman有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!