【nginx】課程技術總結

完整項目:通訊框架+業務邏輯框架

【項目內容】

(1)項目是非常完整的多線程高併發服務器程序

(2)按照包頭+包體格式收,完美的解決了數據粘包的問題

(3)根據收到的數據包來執行不同的業務邏輯

(4)把業務處理產生的結果數據包正確的返回給客戶端

【用到的主要開發技術】

(1)epoll高併發通訊技術,用的是水平觸發模式【LT】,簡單提及邊緣觸發模式【ET】

(2)通過線程池技術處理業務邏輯

(3)多線程,線程之間的同步技術包括互斥量、信號量等等

(4)次要技術:信號,日誌打印,fork()創建子進程,守護進程怎麼寫

【借鑑了官方nginx哪些精華代碼】

(1)一個master進程,多個worker進程的 進程框架;

(2)epoll實現代碼,但官方epoll的觸發模式用的是ET【我們的項目用的是LT】

(3)借鑑了官方nginx的接收數據包以及發送數據包的核心代碼;

【哪些是我們沒有借鑑官方nginx而獨立實現的代碼】

(1)epoll LT模式;

(2)自己寫了一套線程池來處理業務邏輯,調用適當的業務邏輯處理函數,直至處理完畢把數據發送回客戶端;

(3)連接池中的連接的延遲迴收(精華技術);

(4)專門處理數據發送的一整套數據發送邏輯以及發送線程。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章