swoolefy PHP的異步、並行、高性能網絡通信引擎內置了Http/WebSocket服務器端/客戶端


近半年來努力付出,項目終於要正式結項了,團隊4人經歷了很多困難,加班加點,最終完成了!
剩下的時間將總結一下在該項目中用到知識和遇到問題。今天就從swoole說起!
項目中實現異步大文件傳輸的功能,在服務端使用了swoole,可以高效方便的實現,很多的項目其實也在用到swoole,突然間覺得swoole已經非常強大,對於phper來說,這是非常好的,可能大家都覺高大上了。

接下來將會以swoole為系列,總結一些swoole的知識,當然,官網文檔有的這里就不會再多說,將會從應用場景,應用的技巧,和如何在一些框架中整合,比如thinkph或者yii2這兩個框架。

本人已開源基於swoole擴展實現的高性能輕量級框架,有着完善的開發文檔和用戶案例

swoolefy:https://github.com/bingcool/swoolefy

開發文檔:https://www.kancloud.cn/bingcoolhuang/php-swoole-swoolefy/587501


那么,學習任何一門知識,首先要做的就是要了解這門知識,它是什么,它能做什么?所以官網還是我們第一個要去瀏覽的。
swoole官網:

http://www.swoole.com/

官網的原話介紹:

PHP的異步、並行、高性能網絡通信引擎,使用純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代碼無需額外增加任何關鍵詞,底層自動進行協程調度,實現異步。

Swoole可以廣泛應用於互聯網、移動通信、企業軟件、雲計算、網絡游戲、物聯網(IOT)、車聯網、智能家居等領域。 使用PHP+Swoole作為網絡通信框架,可以使企業IT研發團隊的效率大大提升,更加專注於開發創新產品。

從這簡單的一段介紹中,我們已經知道了swoole是一個用寫的php擴展,實現了網絡層的很多功能。

再看看它的應用案例:
swoole目前已被多家移動互聯網、物聯網、網絡游戲、手機游戲企業使用,替代了C++、Java等復雜編程語言來實現網絡服務器程序。 使用PHP+Swoole,開發效率可以大大提升。
官方提供了基於swoole擴展開發的PHP網絡框架, 支持Http,FastCGI,WebSocket,FTP,SMTP,RPC等網絡協議 
swoole在美國,英國,法國,印度等國家都有用戶分布,在國內的 騰訊、 百度、阿里巴巴、YY語音等多家知名互聯網公司均有使用。

從中可以看出swoole可以應用在很多方面,特別是在移動互聯網方面,而且國內的BAT三巨頭都在使用,足以說明swoole是已經非常成熟的,而且是經過實際業務考驗的!

swoole是由中國人韓天峰老師及其團隊開發、維護以及開源的,感覺他們很偉大,向他們表示致敬!

swoole的版本更新也非常快,目前最新的穩定版本是1.9.3,當然還有最新加入協程功能的2.0版本

所以建議使用swoole-1.9.3-stable版本

特別注意:1.8.7或更高版本已完全兼容PHP7

 

本人基於swoole擴展實現的一個高性能MVC的微服務框架目前已開源:

https://github.com/bingcool/swoolefy
---------------------
作者:bingcool空間
來源:CSDN
原文:https://blog.csdn.net/u012979009/article/details/54602935
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM