版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、,lua location /foo echo foo; “子請求”方式的通信是在同一個虛擬主機內(nèi)部進行的,所以 Nginx 核心在實現(xiàn)“子請求”的時候,就只調(diào)用了若干個 C 函數(shù),完全不涉及任何網(wǎng)絡或者 UNIX 套接字(socket)通信。我們由此可以看出“子請求”的執(zhí)行效率是極高的。 (有備注),31,協(xié)程,協(xié)程類似一種多線程,與多線程的區(qū)別有: 協(xié)程并非os線程,所以創(chuàng)建、切換開銷比線程相對要小。 協(xié)程與線程一樣有自己的棧、局部變量等,但是協(xié)程的棧是在用戶進程空間模擬的,所以創(chuàng)建、切換開銷很小。 多線程程序是多個線程并發(fā)執(zhí)行,也就是說在一瞬間有多個控制流在執(zhí)行。而協(xié)程強調(diào)的是一種多個協(xié)
2、程間協(xié)作的關系,只有當一個協(xié)程主動放棄執(zhí)行權,另一個協(xié)程才能獲得執(zhí)行權,所以在某一瞬間,多個協(xié)程間只有一個在運行。 由于多個協(xié)程時只有一個在運行,所以對于臨界區(qū)的訪問不需要加鎖,而多線程的情況則必須加鎖。 多線程程序由于有多個控制流,所以程序的行為不可控,而多個協(xié)程的執(zhí)行是由開發(fā)者定義的所以是可控的。,32,協(xié)程(簡單的說),協(xié)程(coroutine)和線程的區(qū)別在于調(diào)度方式的差異,即讓出CPU給別的執(zhí)行緒(切換)的時機不同: 線程:主動讓出(yield)、I/O阻塞、時間片到 協(xié)程:主動讓出(yield)、I/O(協(xié)程間通信)阻塞,33,Ngx_lua,Ngx_lua安裝,下載 http_l
3、ua_module ,加載編譯 或直接使用 openresty ./configure -with-luajit,localf=assert(io.open(html/index.html,r),在Lua中進行各種IO時,都要通過ngx.location.capture發(fā)送子請求委托給Nginx事件模型,這樣可以保證IO是非阻塞的,location/subreq internal; roothtml; ,(有備注),46,再說 nginx,lua,ngx_lua,why nginx,p22,why lua,內(nèi)存開銷小 運行速度快 VM可中斷/重入,原理,ngx_lua實現(xiàn)Proactor模型
4、業(yè)務邏輯以自然邏輯書寫 自動獲得高并發(fā)能力 不會因I/O阻塞等待而浪費CPU資源,50,原理,每個worker進程使用一個lua vm,工作進程內(nèi)所有協(xié)程共享vm 將nginx i/o原句封裝后注入lua vm,允許lua代碼進行訪問 每個外部請求都由一個lua協(xié)程處理,協(xié)程之間數(shù)據(jù)隔離 lua代碼調(diào)用i/o操作接口時,無法立即完成,則打斷相關協(xié)程的運行并保護上下文數(shù)據(jù) i/o操作完成時還原相關協(xié)程上下文數(shù)據(jù)并繼續(xù)運行,架構(gòu)演變,Browser,Nginx,APP,DB,LVS,Business,Content CDN,lua,52,taobao的量子統(tǒng)計帶來的思考,沒了分層,web server和業(yè)務邏輯放在一起 資源競爭,不好擴展 lua和nginx中系列關聯(lián)導致問題,lua調(diào)式的問題,去php,引入ngx_lua,(個人意見:整體體統(tǒng)架構(gòu)不宜跨越三層架構(gòu),一些簡單小業(yè)務高并發(fā)可以直接使用lua,避開app層),思考,暴力的植入? 高耦合性? 協(xié)程調(diào)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車載網(wǎng)絡技術的發(fā)展
- 互聯(lián)網(wǎng)+電影行業(yè)市場競爭力調(diào)查
- 內(nèi)外的安全同樣重要
- 南京AI培訓指南
- 2026福建福州經(jīng)濟技術開發(fā)區(qū)糧食收儲有限公司招聘2人備考題庫及參考答案詳解一套
- 切爾西介紹教學
- 古藺縣教育和體育局 古藺縣人力資源和社會保障局關于2025年11月公開考核招聘教師的補充備考題庫及1套參考答案詳解
- 分頁介紹教學課件
- 浙江臺州市臨海市教育系統(tǒng)(初)面向2026年普通高校畢業(yè)生招聘教師12人備考題庫含答案詳解
- 科研成果守護者責任承諾書(6篇)
- 2024學年綿陽中學高二數(shù)學(上)期末考試卷附答案解析
- 人教版六年級數(shù)學上冊《圓的認識》跨學科綜合性作業(yè)設計
- 女性腫瘤患者的生育力保存
- 李四光《看看我們的地球》原文閱讀
- 2024年世界職業(yè)院校技能大賽中職組“工程測量組”賽項考試題庫(含答案)
- 四川省成都市2023-2024學年高一上學期語文期末考試試卷(含答案)
- 設備購買合同模板示例
- 部編人教版 語文 六年級下冊 電子書
- DL-T-5728-2016水電水利工程控制性灌漿施工規(guī)范
- DL-T 5117-2021水下不分散混凝土試驗規(guī)程-PDF解密
- 鋼管支架貝雷梁拆除施工方案
評論
0/150
提交評論