2019年8月23日 星期五(韓天峰的swoole)

Swoole:面向生產(chǎn)環(huán)境的 PHP 異步網(wǎng)絡(luò)通信引擎

使 PHP 開(kāi)發(fā)人員可以編寫(xiě)高性能的異步并發(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)工三、車(chē)聯(lián)網(wǎng)、智能家居等領(lǐng)域先鱼。

使用 PHP + Swoole 作為網(wǎng)絡(luò)通信框架俭正,可以使企業(yè) IT 研發(fā)團(tuán)隊(duì)的效率大大提升,更加專注于開(kāi)發(fā)創(chuàng)新產(chǎn)品焙畔。

簡(jiǎn)介

Swoole不是一個(gè)像Zend Framework掸读、CakePHPYii宏多、symfony儿惫、ThinkPHP等一樣的框架,也不是一個(gè)像WordPress伸但、Drupal肾请、Discuz、UChome等開(kāi)源產(chǎn)品看齊的項(xiàng)目更胖。

Swoole的目標(biāo)是向Java框架铛铁、Ruby On Rails、Python DjangoPylons等一流框架發(fā)起挑戰(zhàn)却妨。

運(yùn)行環(huán)境:Linux Windows Mac FreeBSD Unix

PHP版本支持:PHP5.3+

支持的數(shù)據(jù)庫(kù):MS SQL Server饵逐、MySQL、IBM DB2彪标、Oracle倍权、Interbase 、SQLite捞烟、PostgreSQL账锹、ODBC

支持的運(yùn)行方式:Web、Cli命令行腳本坷襟、PHP-GTK GUI奸柬。 [2]

功能

包含以下幾個(gè)特色功能

1、 類(lèi)似ORM的數(shù)據(jù)查詢婴程,提供SQL封裝器廓奕,讓MySQL的SQL與PHP的Array,會(huì)話档叔,Cache無(wú)縫結(jié)合桌粉。

2、App MVC分層結(jié)構(gòu)衙四,有效的程序結(jié)構(gòu)分層铃肯,提高程序的可維護(hù)性和擴(kuò)展性,實(shí)現(xiàn)低耦合传蹈,基于接口開(kāi)發(fā)押逼。

3步藕、集成大量,實(shí)用的功能挑格,比如方便的數(shù)據(jù)庫(kù)操作咙冗,模板操作,緩存操作漂彤,系統(tǒng)配置雾消,表單處理,分頁(yè)挫望,數(shù)據(jù)調(diào)用立润,字典操作,上傳處理媳板,內(nèi)容編輯范删,調(diào)試等。

4拷肌、模板-數(shù)據(jù)反射系統(tǒng)到旦,可以直接在模板中調(diào)用數(shù)據(jù),提供很多標(biāo)簽巨缘,可以無(wú)需修改程序添忘,只修改模板,即可實(shí)現(xiàn)網(wǎng)站各類(lèi)更新維護(hù)工作若锁。

另外的幾個(gè)功能

1搁骑、Swoole包含了大量類(lèi),提供眾多的功能擴(kuò)展又固,基本上Web開(kāi)發(fā)能夠用到的功能類(lèi)仲器,大部分都可以在Swoole框架中找到。

2仰冠、Swoole擁有插件系統(tǒng)乏冀,F(xiàn)ckeditor、Adodb洋只、pscws中文分詞辆沦、中文全文索引系統(tǒng)、最新的Key-Value數(shù)據(jù)庫(kù)思想识虚,TokyoTyrant肢扯,可以無(wú)限擴(kuò)展框架的功能。 [2]

特性

Swoole 使用純 C 語(yǔ)言編寫(xiě)担锤,提供了 PHP 語(yǔ)言的異步多線程服務(wù)器蔚晨,異步 TCP/UDP 網(wǎng)絡(luò)客戶端,異步 MySQL肛循,異步 Redis铭腕,數(shù)據(jù)庫(kù)連接池银择,AsyncTask,消息隊(duì)列谨履,毫秒定時(shí)器,異步文件讀寫(xiě)熬丧,異步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 支持了類(lèi)似 Go 語(yǔ)言的協(xié)程殿漠,可以使用完全同步的代碼實(shí)現(xiàn)異步程序赴精。PHP 代碼無(wú)需額外增加任何關(guān)鍵詞,底層自動(dòng)進(jìn)行協(xié)程調(diào)度绞幌,實(shí)現(xiàn)異步蕾哟。

什么是swoole

swoole是PHP的異步、并行莲蜘、高性能網(wǎng)絡(luò)通信引擎谭确,使用純C語(yǔ)言編寫(xiě),提供了PHP語(yǔ)言的異步多線程服務(wù)器票渠,異步TCP/UDP網(wǎng)絡(luò)客戶端逐哈,異步MySQL,異步Redis问顷,數(shù)據(jù)庫(kù)連接池鞠眉,AsyncTask,消息隊(duì)列择诈,毫秒定時(shí)器械蹋,異步文件讀寫(xiě),異步DNS查

Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶端羞芍、Http2.0服務(wù)器端哗戈。

Swoole可以廣泛應(yīng)用于互聯(lián)網(wǎng)、移動(dòng)通信荷科、企業(yè)軟件唯咬、云計(jì)算纱注、網(wǎng)絡(luò)游戲、物聯(lián)網(wǎng)(IOT)胆胰、車(chē)聯(lián)網(wǎng)狞贱、智能家居等領(lǐng)域。 使用PHP+Swoole作為網(wǎng)絡(luò)通信框架蜀涨,可以使企業(yè)IT研發(fā)團(tuán)隊(duì)的效率大大提升瞎嬉,更加專注于開(kāi)發(fā)創(chuàng)新產(chǎn)品。隨著我們

我們?yōu)槭裁从胹woole

用戶打開(kāi)了我們的網(wǎng)站厚柳。他要做的就是勾選需要發(fā)郵件的代理商列表氧枣,然后把結(jié)算郵件發(fā)出去。

假如我們需要發(fā)1封郵件别垮,我們寫(xiě)個(gè)函數(shù)執(zhí)行即可便监。考慮到網(wǎng)絡(luò)可能會(huì)稍微有點(diǎn)延遲碳想,但是是可以接受的烧董,用戶會(huì)乖乖等你的網(wǎng)頁(yè)發(fā)完郵件了再關(guān)閉網(wǎng)頁(yè)。

假如我們要發(fā)布10封郵件胧奔,用一個(gè)for循環(huán)解藻,循環(huán)10遍執(zhí)行發(fā)郵件操作。這時(shí)候葡盗,也許10倍的網(wǎng)絡(luò)延遲會(huì)讓用戶稍微有點(diǎn)不耐煩螟左,但勉強(qiáng)可以等吧。

假如要發(fā)100封郵件觅够,for循環(huán)100遍胶背,用戶直接揭竿而起,什么破網(wǎng)站喘先!

但實(shí)際上钳吟,我們很可能有超過(guò)1萬(wàn)的郵件。怎么處理這個(gè)延遲的問(wèn)題窘拯?答案就是用異步红且。把“發(fā)郵件”這個(gè)操作封裝,然后后臺(tái)異步地執(zhí)行1萬(wàn)遍涤姊。這樣的話暇番,用戶提交網(wǎng)頁(yè)后,他所等待的時(shí)間只是“把發(fā)郵件任務(wù)請(qǐng)求推送進(jìn)隊(duì)列里”的時(shí)間思喊。而我們的后臺(tái)服務(wù)

將在用戶看不見(jiàn)的地方跑壁酬。而swoole就為我們實(shí)現(xiàn)了異步隊(duì)列處理及并發(fā)等問(wèn)題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子舆乔,更是在濱河造成了極大的恐慌岳服,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件希俩,死亡現(xiàn)場(chǎng)離奇詭異吊宋,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)颜武,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)璃搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人盒刚,你說(shuō)我怎么就攤上這事腺劣÷陶辏” “怎么了因块?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)籍铁。 經(jīng)常有香客問(wèn)我涡上,道長(zhǎng),這世上最難降的妖魔是什么拒名? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任吩愧,我火速辦了婚禮,結(jié)果婚禮上增显,老公的妹妹穿的比我還像新娘雁佳。我一直安慰自己,他們只是感情好同云,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布糖权。 她就那樣靜靜地躺著,像睡著了一般炸站。 火紅的嫁衣襯著肌膚如雪星澳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天旱易,我揣著相機(jī)與錄音禁偎,去河邊找鬼。 笑死阀坏,一個(gè)胖子當(dāng)著我的面吹牛如暖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播忌堂,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼装处,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起妄迁,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寝蹈,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后登淘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體箫老,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年黔州,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耍鬓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡流妻,死狀恐怖牲蜀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绅这,我是刑警寧澤涣达,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站证薇,受9級(jí)特大地震影響度苔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浑度,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一寇窑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧箩张,春花似錦甩骏、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至熟掂,卻和暖如春缎浇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赴肚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工素跺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人誉券。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓指厌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親踊跟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子踩验,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 參考資料 官方網(wǎng)站 https://www.swoole.com/page/download PHP沒(méi)有像Pyth...
    JunChow520閱讀 2,944評(píng)論 0 6
  • 一鸥诽、前言 最近由于工作需要,將應(yīng)用里的部分功能需要推送系統(tǒng)箕憾,發(fā)現(xiàn)PHP的一個(gè)擴(kuò)展插件swoole牡借。由于經(jīng)驗(yàn)不足,安...
    極客小寨閱讀 1,393評(píng)論 0 7
  • 什么是swoole swoole是PHP的異步袭异、并行钠龙、高性能網(wǎng)絡(luò)通信引擎,使用純C語(yǔ)言編寫(xiě)御铃,提供了PHP語(yǔ)言的異步...
    xinyuans閱讀 514評(píng)論 0 0
  • 現(xiàn)在很煩心碴里,明天就要飛拆了,現(xiàn)在是選擇戴眼鏡還是借一個(gè)hood 上真,依照習(xí)慣來(lái)說(shuō)肯定是hood咬腋,但是現(xiàn)在ha沒(méi)...
    四月六日閱讀 218評(píng)論 0 0
  • 關(guān)鍵字:信息 心理 細(xì)節(jié) ①在談判前做足功課,盡可能的了解對(duì)方 曾經(jīng)在讀到《龍族》這本小說(shuō)時(shí)睡互,有一句話...
    執(zhí)念學(xué)者閱讀 1,174評(píng)論 0 2