91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux高性能服務器讀書筆記之服務器模型

發布時間:2020-06-21 08:31:20 來源:網絡 閱讀:947 作者:jackdongting 欄目:建站服務器
1.模型一:C/S(經典的)
起因:TCP/IP協議是沒有客戶和服務端的區別。但是資源(視頻,新聞,軟件)都是被數據提供者所壟斷
邏輯:服務器啟動后,首先創建一個或多個監聽socket,并且調用bind函數將其綁定到需要(自定義)的端口,然后調用listen函數等待客戶連接
特點:客戶連接是隨機事件,需要某種I/O模型來監聽連接。
例子:服務器I/O復用技術之一的select系統調用
(當監聽接收到連接 ,服務器用accept來接收,并且分配一個邏輯單元為它服務,(fork系統產生邏輯單元,邏輯單元處理好一切返回給客戶端,邏輯單元可以是新創建的子進程,子線程或其他)))

2.接下來就是宅男熟悉的P2P模型

優勢:就是去掉通信的中心
特點;就是每臺機器在消耗服務的時候也會給別人提供服務
例子:迅雷,云計算機群
問題:主機相互之間很難發現(發現服務器來解決這個問題)
但是本質還是CS,只是一個變相的擴展

I/O處理單元--------》邏輯單元---------》網絡存儲單元 
中間都是由請求隊列(通信方式,一般是永久的tCP連接)
2.1I/O處理單元:管理客戶連接的模塊,等待并且接受新的連接,接受客戶的數據,將服務器的相應的數據返回客戶端。數據的收發不一定在這里,也可能在邏輯單元,(取決于事件處理模式)

2.2邏輯單元:分析并且處理數據,然后將結果傳遞給I/O處理單元或者直接發送給客戶端(對于機器群來說,一個邏輯單元也許就是一臺邏輯服務器)
2.3.網絡儲存:可以是數據庫,緩存和文件,或者一臺服務器(有些是不需要的,如ssh,telnet)
2.4.請求隊列:各個單元之間通訊方式的抽象
兩個方面:I/O處理單元通知邏輯單元的方式,邏輯單元訪問存儲單元的機制
這里就會涉及到池的概念,這個TCP理解一般是事先建立好的永久高效的TCP連接

3.I/O模型
3.1阻塞和非阻塞可以用于所有的文件描述符,不僅僅是socket,
3.2阻塞是可能是無法立即完成而被操作系統掛起,知道等待完成事件發生。
3.3非阻塞是系統的調用總是立即返回。,所以如果完成世家沒有發生,就會返回和錯誤一樣的標記。(errno可以區分)
要求:我們需要在完成世家發生的情況下,操作非阻塞,才能實現高效率。
例子:I/O復用(最常用的通知機制,還有SIGIO信號)
含義:有個函數叫I/O復用函數,他可以向內核注冊一組事件,內核可以將已經完成的事件通知給應用程序。
例子:I/O復用函數:select,poll,epoll_wait
原理:本身每個函數都是阻塞的,但是他們都具有監聽多個I/O事件 的能力
備注:SIGIO的信號處理以后再說
備注2:上述的阻塞I/O,I/O復用和信號驅動I/O都是同步I/O模型。
原理:I/O讀寫操作都是在I/O事件發生之后
異步I/O:(POSIX規范)用戶可以直接對I/O進行讀寫操作,這些操作會告訴用戶讀寫緩沖區的位置,以及操作完成后內核通知應用程序的方式

二者核心區別:同步是用戶自己處理I/O操作,異步I.O是內核執行I/O操作。
區別2:同步向應用程序通知二是I/O就緒事件,異步是I/O完成事件。

linux下,aio.h 提供了對異步I/O的支持

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玛纳斯县| 衢州市| 依安县| 林西县| 蕲春县| 蒲江县| 合川市| 三明市| 平顺县| 富平县| 虞城县| 溧阳市| 安康市| 金乡县| 库伦旗| 东兰县| 元江| 青州市| 双流县| 科尔| 滦南县| 临泉县| 津南区| 舒城县| 六安市| 七台河市| 舒兰市| 抚松县| 安图县| 辽阳县| 大石桥市| 焉耆| 胶南市| 灌云县| 台湾省| 油尖旺区| 拉萨市| 襄城县| 松江区| 平罗县| 安阳县|