什么是workerman?

什么是workerman?

workerman是一個高性能的php socket 服務器框架,workerman基于PHP多進程以及libevent事件輪詢庫,PHP開發者只要實現一兩個接口,便可以開發出自己的網絡應用,例如rpc服務、聊天室服務器、手機游戲服務器等。

workerman的目標是讓PHP開發者更容易的開發出基于socket的高性能的應用服務,而不用去了解PHP socket以及PHP多進程細節。?(推薦學習: workerman教程

? ?

workerman本身是一個PHP多進程服務器框架,具有PHP進程管理以及socket通信的模塊,所以不依賴php-fpm、nginx或者apache等這些容器便可以獨立運行。

PHP進程管理:類似于操作系統的進程管理。

socket:網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱為一個socket。

wokerman 的幾大特性:

純PHP開發

workerman完全使用PHP開發,使用workerman開發的應用程序不依賴php-fpm、apache、nginx這些容器就可以獨立運行。 這使得PHP開發者開發、部署、調試應用程序非常方便。

支持PHP多進程

為了充分發揮服務器多CPU的性能,workerman默認支持多進程多任務。workerman開啟一個主進程和多個子進程對外提供服務, 主進程負責監控子進程退出信號,并負責生成新的子進程去處理服務,這樣做不僅提高了應用程序的性能,而且使得workerman更加穩定。

支持TCP、udp

workerman支持TCP和UDP兩種傳輸層協議,只需要更改配置的一個字段,便可以更換傳輸層協議,業務代碼無需任何改動。

支持長連接

很多時候需要PHP應用程序要與客戶端保持長連接,比如聊天室、游戲等,但是傳統的PHP容器(apache、nginx、php-fpm)很難做到這一點。 使用workerman可以輕松使用PHP長連接。php單個進程可以支持幾千甚至幾萬的并發連接,多進程則可支持數十萬甚至上百萬的并發連接。

支持各種應用層協議

接口上支持各種應用層協議,包括自定義協議。Workerman默認支持的協議有httpwebsocket、以及簡單的Text文本協議。 同時Workerman提供了通用的協議接口,開發者基于此接口便可以方便的開發出自己的協議。

支持高并發

workerman支持Libevent事件輪詢庫(需要安裝Libevent擴展), 使用Libevent在高并發時性能非常卓越,如果沒有安裝Libevent則使用PHP內置的select相關系統調用。cn_notebook where cn_note_id = “”;

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享