swoole是一個(gè)面向生產(chǎn)環(huán)境的?PHP?異步網(wǎng)絡(luò)通信引擎,使 PHP 開發(fā)人員可以編寫高性能的異步并發(fā) TCP、UDP、Unix Socket、HTTP,WebSocket 服務(wù)。
Swoole 可以廣泛應(yīng)用于互聯(lián)網(wǎng)、移動(dòng)通信、企業(yè)軟件、云計(jì)算、網(wǎng)絡(luò)游戲、物聯(lián)網(wǎng)(IOT)、車聯(lián)網(wǎng)、智能家居等領(lǐng)域。?
使用 PHP + Swoole 作為網(wǎng)絡(luò)通信框架,可以使企業(yè) IT 研發(fā)團(tuán)隊(duì)的效率大大提升。 ? ? (推薦學(xué)習(xí): swoole視頻教程)
Swoole不是一個(gè)像Zend Framework、CakePHP、Yii、symfony、ThinkPHP等一樣的框架,也不是一個(gè)像WordPress、Drupal、Discuz、UChome等開源產(chǎn)品看齊的項(xiàng)目。?
Swoole的目標(biāo)是向Java框架、Ruby On Rails、Python DjangoPylons等一流框架發(fā)起挑戰(zhàn)。
PHP的異步、并行、高性能網(wǎng)絡(luò)通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務(wù)器,異步TCP/UDP網(wǎng)絡(luò)客戶端,異步MySQL,異步Redis,數(shù)據(jù)庫連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫,異步DNS查詢。?
Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶端、Http2.0服務(wù)器端。
除了異步IO的支持之外,Swoole為PHP多進(jìn)程的模式設(shè)計(jì)了多個(gè)并發(fā)數(shù)據(jù)結(jié)構(gòu)和IPC通信機(jī)制,可以大大簡(jiǎn)化多進(jìn)程并發(fā)編程的工作。其中包括了并發(fā)原子計(jì)數(shù)器,并發(fā)HashTable,Channel,Lock,進(jìn)程間通信IPC等豐富的功能特性。
swoole2.0支持了類似Go語言的協(xié)程,可以使用完全同步的代碼實(shí)現(xiàn)異步程序。PHP代碼無需額外增加任何關(guān)鍵詞,底層自動(dòng)進(jìn)行協(xié)程調(diào)度,實(shí)現(xiàn)異步。
swoole目前已被多家移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、網(wǎng)絡(luò)游戲、手機(jī)游戲企業(yè)使用,替代了C++、Java等復(fù)雜編程語言來實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)器程序。 使用PHP+Swoole,開發(fā)效率可以大大提升。
官方提供了基于swoole擴(kuò)展開發(fā)的PHP網(wǎng)絡(luò)框架, 支持Http,F(xiàn)astCGI,WebSocket,F(xiàn)TP,SMTP,RPC等網(wǎng)絡(luò)協(xié)議?
swoole在美國(guó),英國(guó),法國(guó),印度等國(guó)家都有用戶分布,在國(guó)內(nèi)的 騰訊、 百度、阿里巴巴、YY語音等多家知名互聯(lián)網(wǎng)公司均有使用。
從中可以看出swoole可以應(yīng)用在很多方面,特別是在移動(dòng)互聯(lián)網(wǎng)方面,而且國(guó)內(nèi)的BAT三巨頭都在使用,足以說明swoole是已經(jīng)非常成熟的,而且是經(jīng)過實(shí)際業(yè)務(wù)考驗(yàn)的!
swoole是由中國(guó)人韓天峰老師及其團(tuán)隊(duì)開發(fā)、維護(hù)以及開源的,感覺他們很偉大,向他們表示致敬!
swoole的版本更新也非常快,目前最新的穩(wěn)定版本是1.9.3,當(dāng)然還有最新加入?yún)f(xié)程功能的2.0版本