Nginx(2):架構(gòu)設(shè)計與工作流程

      網(wǎng)友投稿 817 2025-03-31

      這些天吶,實在是給我看暈了。起因自然還是對 nginx 不是很了解哈。那我是來看什么的?一開始就從細節(jié)出發(fā),有點管中窺豹,不得全貌了。

      圖來自網(wǎng)絡(luò)

      架構(gòu)設(shè)計

      進程模型

      預(yù)定:==后邊專門出一篇關(guān)于 nginx進程模型源碼分析==。這些概念都好記,也好理解,但是里面有的地方我想不到該怎么寫,好吧,就是異步,異步不會寫,所以要去看一下大神是怎么寫的。

      1、nginx在啟動后,在unix系統(tǒng)中會以daemon的方式在后臺運行,后臺進程包含一個master進程和多個worker進程。

      2、nginx采用了異步非阻塞的方式來處理請求。

      3、線程只有一個,所以同時能處理的請求只有一個,只是在請求間進行不斷地切換而已,切換也是因為異步事件未準備好,而主動讓出的。這里的切換是沒有任何代價。

      與多線程相比,這種事件處理方式是有很大的優(yōu)勢的,不需要創(chuàng)建線程,每個請求占用的內(nèi)存也很少,沒有上下文切換,事件處理非常的輕量級。并發(fā)數(shù)再多也不會導(dǎo)致無謂的資源浪費(上下文切換)。更多的并發(fā)數(shù),只是會占用更多的內(nèi)存而已。

      模塊化結(jié)構(gòu)體系

      預(yù)定:==這個要出好幾篇了,核心模塊、事件模塊、Stream模塊,以及它們下屬的技術(shù)點可能也要鋪開,估計五六篇吧==。

      其他模塊視情況而定吧。

      (被遮住的是 ngx_conf_module)

      ① 核心模塊(core)

      該模塊提供了 Nginx 服務(wù)運行的基本功能,如 Nginx 的進程管理、CPU 親緣性、內(nèi)存管理、配置文件解析、日志等功能。

      ② 事件模塊(event)

      該模塊負責(zé)進行連接處理,提供對不同操作系統(tǒng)的 I/O 網(wǎng)絡(luò)模型支持和自動根據(jù)系統(tǒng)平臺選擇最有效 I/O 網(wǎng)絡(luò)模型的方法。

      ③ HTTP模塊(http)

      該模塊提供 HTTP 處理的核心功能和部分功能模塊,HTTP 核心功能維護了 HTTP 多個階段的工作流,并實現(xiàn)了對各種 HTTP 功能模塊的管理和調(diào)用。

      ④ Mail模塊(mail)

      該模塊實現(xiàn)郵件代理功能,代理 IMAP、POP3、SMTP 協(xié)議。

      ⑤ Stream模塊(stream)

      該模塊提供 TCP/UDP 會話的代理和負載相關(guān)功能。

      ⑥ 第三方模塊

      nginx的框架設(shè)計就這么簡單,一目了然。

      nginx的框架設(shè)計就這么難,這一點點東西居然要撐起數(shù)萬乃至數(shù)十萬的并發(fā)。

      工作流程

      曉得個框架設(shè)計明顯是不夠的,框架設(shè)計可以說是骨架,皮肉就是里面那些模塊了,那這些骨架和皮肉又是怎么盤活的呢?

      Master 初始化

      worker初始化

      Nginx(2):架構(gòu)設(shè)計與工作流程

      upstream工作流程

      大概也就門清兒了,先學(xué)習(xí)進程模型、再進入幾個核心模塊看框架,最后再收了設(shè)計比較好的數(shù)據(jù)結(jié)構(gòu)、內(nèi)存池、緩沖區(qū)以及一些問題解決方案。

      話說我該去處理一下我的source insight了,又過期了。

      Nginx 架構(gòu)設(shè)計

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:素材庫在哪(易次元素材庫在哪)
      下一篇:性能工具之 nGrinder Get 請求腳本編寫
      相關(guān)文章
      亚洲精品自产拍在线观看| 亚洲欧洲精品成人久久奇米网| 亚洲国产小视频精品久久久三级| 亚洲国产日韩精品| 亚洲人成人77777网站不卡| 日韩亚洲AV无码一区二区不卡| 久久精品亚洲视频| 亚洲AV无码乱码国产麻豆| 亚洲AV无码日韩AV无码导航| 亚洲AV无码一区二区乱子伦 | 亚洲一本之道高清乱码| 亚洲成无码人在线观看| 亚洲国产美女精品久久久久| 亚洲春色在线观看| 亚洲a级在线观看| 国产亚洲福利在线视频| 亚洲天然素人无码专区| 亚洲人成自拍网站在线观看| 亚洲成av人片天堂网无码】| 久久久久久久久无码精品亚洲日韩| MM1313亚洲国产精品| 亚洲av麻豆aⅴ无码电影| 亚洲国产成人久久综合区| 亚洲人成网站观看在线播放| 国产亚洲精aa成人网站| 亚洲啪啪综合AV一区| 亚洲AV日韩AV鸥美在线观看| 久久精品国产亚洲av麻豆色欲 | 亚洲精品黄色视频在线观看免费资源| 亚洲精品岛国片在线观看| 国产成人麻豆亚洲综合无码精品| 亚洲熟妇中文字幕五十中出| 亚洲av无码国产精品夜色午夜 | 亚洲av高清在线观看一区二区| 国产国拍亚洲精品福利| 亚洲国产精品成人久久| 在线电影你懂的亚洲| 色偷偷女男人的天堂亚洲网| 亚洲av无码专区在线观看下载| 亚洲国产成人久久一区WWW| 国产l精品国产亚洲区在线观看|