Workerman是一款純PHP開發的開源高性能的PHP socket 服務框架。
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的一些應用方向
立即學習“PHP免費學習筆記(深入)”;
Workerman不同于傳統MVC框架,Workerman不僅可以用于Web開發,同時還有更廣闊的應用領域,例如即時通訊類、物聯網、游戲、服務治理、其它服務器或者中間件,這無疑大大提高了PHP開發者的視野。目前這些領域的PHP開發者奇缺,如果想在PHP領域有自己的技術優勢,不滿足于每天的增刪改查工作,或者想向架構師方向或者技術大牛的方向發展,Workerman都是非常值得學習的框架。建議開發者不僅會用,而且能基于Workerman開發出屬于自己的開源項目,提升技能增加自己的影響力,比如Beanbun多進程網絡爬蟲框架就是一個很好的例子,剛剛上線不久就獲得眾多好評。
Workerman的一些應用方向如下:
1、即時通訊類
例如網頁即時聊天、即時消息推送、微信小程序、手機app消息推送、PC軟件消息推送等等
2、物聯網類
例如Workerman與打印機通訊、與單片機通訊、智能手環、智能家居、共享單車等等。
3、游戲服務器類
例如棋牌游戲、MMORPG游戲等等。
4、SOA服務化
利用Workerman將現有業務不同功能單元封裝起來,以服務的形式對外提供統一的接口,達到系統松耦合、易維護、高可用、易伸縮。
5、其它服務器軟件
例如 GatewayWorker,PHPSocket.IO,http代理,sock5代理,分布式通訊組件,分布式變量共享組件,消息隊列、DNS服務器、WebServer、CDN服務器、FTP服務器等等
6、中間件
例如異步MySQL組件,異步redis組件,異步http組件,異步消息隊列組件,異步dns組件,文件監控組件,還有很多第三方開發的組件框架等等
顯然傳統的mvc框架很難實現以上的功能,所以也就是workerman誕生的原因。
更多workerman相關技術文章,請訪問php workerman欄目!