首頁 搜尋 我的知識庫
高性能程式密技:Linux網路核心技術大公開

高性能程式密技:Linux網路核心技術大公開

作者: 朱文偉
出版社: 深智數位
出版日期: 2024/03/20
ISBN-13: 9786267383384
書店 1






內容描述


★高性能網路程式設計基本功
  ★Linux底層的基礎及網路結構
  ★實體機及虛擬機架設Linux
  ★Linux網路伺服器設計
  ★Libevent為基礎的FTP伺服器設計
  ★Epoll為基礎的併發聊天伺服器
  ★Nginx高性能伺服器架構詳解
  ★DPDK開發環境架設及實戰應用範例
  ★P2P高性能遊戲伺服器設計

  本書全面探討高性能網路程式設計,首章強調Linux內核的限制和DPDK的重要性,深入分析高性能伺服器框架,包括C/S和P2P模型及伺服器架構。第二章聚焦Linux基礎知識及網路應用,涵蓋系統啟動、關機、性能最佳化命令,以及KVM虛擬機器和Qemu的應用。第三章介紹Linux網路開發環境搭建,包括虛擬機器配置和C/C++開發環境。第四章專注於網路伺服器設計,探討I/O模型及不同類型伺服器設計。第五章講述基於libevent的FTP伺服器開發,包括Reactor模式和客戶端設計。第六章涵蓋基於epoll的高併發聊天伺服器的設計與實施。第七章深入剖析Nginx架構,包括設計原則和資料結構。第八章描述DPDK開發環境的架設,第九章展示DPDK應用案例,而第十章探討基於P2P的高性能遊戲伺服器設計。


目錄大綱


第1章  高性能網路程式設計概述
1.1  來自產品經理的壓力
1.2  網路高性能需求越來越大
1.3  高性能網路封包處理的瓶頸
1.4  八仙過海各顯神通
1.5  Linux内内的核心核心核心的弊端
1.6  什麼是DPDK
1.7  高性能伺服器框架研究

第2章  Linux基礎和網路
2.1  Linux啟動過程
2.2  圖形模式與文字模式的切換方式
2.3  Linux關機和重新啟動
2.4  開機自啟動
2.5  查看Ubuntu内内版核心核心的核心版本
2.6  查看Ubuntu作業系統的版本
2.7  查看CentOS作業系統的版本
2.8  CentOS 7升級glibc
2.9  在檔案中搜索
2.10  Linux設定檔的區別
2.11  讓/etc/profile檔案修改後立即生效
2.12  Linux性能最佳化的常用命令
2.13  測試Web伺服器性能
2.14  Linux中的檔案許可權
2.15  環境變數的獲取和設置
2.16  解析命令列參數函數
2.17  登入桌面到伺服器
2.18  遠端桌面
2.19  KVM和Qemu的關係
2.20  檢查系統是否支援虛擬化
2.21  在Ubuntu 22中使用KVM虛擬機器CentOS 8
2.22  在Ubuntu下安裝RPM套件
2.23  在CentOS中使用KVM虛擬機器Ubuntu 22
2.24  系統中使用虛擬機器
2.25  網路通訊與封包處理
2.26  Linux内内的核心核心核心的封包處理機制
2.27  PF_RING高性能封包處理框架
2.28  DPDK高性能封包處理框架

第3章  架設Linux網路開發環境
3.1  準備虛擬機器環境
3.2  架設Linux下的C/C++開發環境
3.3  架設Windows下的Linux C/C++開發環境

第4章  網路伺服器設計
4.1  I/O模型
4.2  單處理程序迴圈伺服器
4.3  多處理程序併發伺服器
4.4  多執行緒併發伺服器
4.5  I/O多工的伺服器

第5章  基於libevent的FTP伺服器
5.1  Reactor模式
5.2  使用libevent的基本流程
5.3  下載和編譯libevent
5.4  FTP概述
5.5  開發FTP伺服器
5.6  開發FTP使用者端

第6章  基於epoll的高併發聊天伺服器
6.1  系統平臺的選擇
6.2  系統需求分析
6.3  系統整體設計
6.4  即時通訊系統的實施原理
6.5  功能模組劃分
6.6  資料庫設計
6.7  伺服器端設計
6.8  使用者端設計

第7章  高性能伺服器Nginx架構解析
7.1  什麼是Nginx
7.2  Nginx的下載和安裝
7.3  為何要研究Nginx
7.4  Nginx概述
7.5  Nginx伺服器設計原則
7.6  整體架構研究
7.7  Nginx重要的資料結構
7.8  反向代理和負載平衡
7.9  信號機制
7.10  HTTP框架解析
7.11  upstream機制的實現

第8章  DPDK開發環境的架設
8.1  檢查裝備
8.2  虛擬機器下編譯安裝DPDK20
8.3  虛擬機器下命令方式建立DPDK19環境
8.4  虛擬機器下指令稿方式建立DPDK19環境
8.5  在CentOS 7.6下建立DPDK19環境
8.6  在CentOS 8.2下建立DPDK20環境
8.7  於在國產作業系統下架設基於10GB網路卡的DPDK20環境

第9章  DPDK應用案例實戰
9.1  實戰1:測試兩個通訊埠之間的收發
9.2  實戰2:接收來自Windows的網路封包並統計

第10章  基於P2P架構的高性能遊戲伺服器
10.1  網路遊戲伺服器發展現狀
10.2  現有網路遊戲伺服器架構
10.3  P2P網路遊戲技術分析
10.4  網路遊戲的同步機制
10.5  整體設計
10.6  資料庫設計
10.7  伺服器詳細設計和實現
10.8  客戶端詳細設計和實現


作者介紹


作者簡介

朱文偉

  名校電腦專業碩士。20多年C/C++、Java開發經驗,主導開發過密碼、圖形、人工智慧等產品。精通Linux、Windows系統開發及資料庫開發技術。著有圖書

  《PyQt5從入門到精通》
  《Qt6.x從入門到精通》
  《LinuxC/C++伺服器開發實踐》
  《OpenCV4.5電腦視覺開發實踐:基於Python》
  《OpenCV45電腦視覺開發實踐(基於VC++)》
  《LinuxC與C++一線開發實踐》
  《密碼學原理與Java實現》
  《VisualC++2013從入門到精通》






相關書籍

零基礎入門的機器學習圖鑑:2大類機器學習╳ 17種演算法 ╳ Python基礎教學,讓你輕鬆學以致用

網路行銷、社群經營必會!Premiere Pro 影音剪輯實務

翻倍效率工作術:不會就太可惜的 Excel × ChatGPT 自動化應用(附範例/Bing Chat與ChatGPT使用差異影音/指令速查表)

精通嵌入式Linux程式設計(第三版)(下)