一直以來在其餘編程語言程序員心目中PHP就是個套HTML頁面的。所謂PHP程序員就是搞WordPress、discuz二次開發,一個月拿三五千的loser,和我大Java工程師相比簡直low爆了。程序員
但你們黑了PHP半天,才發現PHP最近這幾年反而愈來愈流行了,PHPer們的工資可一點都不低。就拿我司來講吧,以前面過一個PHP程序員工做三年多,水平通常吧,後來公司開價2萬/m收了。web
水平好一點的平均都在3-4萬/m。實際上做爲一名PHP程序員,我很清楚PHP的確有不少侷限性,好比Unix系統編程、網絡通訊編程、異步io,大部分PHPer不懂。編程
PHP界也確實沒有這樣的東西。Swoole開源項目就是爲了彌補PHP在這些方面的缺陷誕生的。與WordPress這些產品不一樣,swoole其實是一個網絡通訊和異步io的引擎,一個基礎庫。PHPer能夠基於swoole去實現過去PHP沒法實現的功能。swoole爲PHPer打開了通往另外一個世界的大門。緩存
用戶打開了咱們的網站。他要作的就是勾選須要發郵件的代理商列表,而後把結算郵件發出去。bash
假如咱們須要發1封郵件,咱們寫個函數執行便可。考慮到網絡可能會稍微有點延遲,可是是能夠接受的,用戶會乖乖等你的網頁發完郵件了再關閉網頁。服務器
假如咱們要發佈10封郵件,用一個for循環,循環10遍執行發郵件操做。這時候,也許10倍的網絡延遲會讓用戶稍微有點不耐煩,但勉強能夠等吧。websocket
假如要發1000封郵件,for循環1000遍,用戶直接揭竿而起,什麼破網站!swoole
但實際上,咱們極可能有超過2萬的郵件。怎麼處理這個延遲的問題?網絡
答案就是用異步。把「發郵件」這個操做封裝,而後後臺異步地執行1萬遍。這樣的話,用戶提交網頁後,他所等待的時間只是「把發郵件任務請求推送進隊列裏」的時間。而咱們的後臺服務將在用戶看不見的地方跑。而swoole就爲咱們實現了異步隊列處理及併發等問題。多線程
瞭解Linux操做系統進程和線程的概念
瞭解Linux進程/線程切換調度的基本知識
瞭解進程間通訊的基本知識,如管道、UnixSocket、消息隊列、共享內存
複製代碼
瞭解SOCKET的基本操做如accept/connect、send/recv、close、listen、bind
瞭解SOCKET的接收緩存區、發送緩存區、阻塞/非阻塞、超時等概念
複製代碼
瞭解select/poll/epoll
瞭解基於select/epoll實現的事件循環,Reactor模型
瞭解可讀事件、可寫事件
複製代碼
瞭解TCP/IP協議
瞭解TCP、UDP傳輸協議
複製代碼
使用 gdb 調試Linux程序
使用 strace 跟蹤進程的系統調用
使用 tcpdump 跟蹤網絡通訊過程
其餘Linux系統工具,如ps、lsof、top、vmstat、netstat、sar、ss等
複製代碼
安裝篇
源碼安裝Swoole
源碼安裝PHP7
讓PHP支持Swoole
基礎篇
網絡通訊引擎
Tcp服務/客戶端
websocket服務器
進階篇
異步MySQL場景
處理異步實時日誌
高性能消息隊列
異步任務task
進程、內存、協程
公衆號:【代碼技巧】 回覆:swoole 獲取swoole高級詳解教程,多謝支持
複製代碼