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

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

出版日期:
2024/03/19
9
980882
查詢門市庫存
★高性能網路程式設計基本功
★Linux底層的基礎及網路結構
★實體機及虛擬機架設Linux
★Linux網路伺服器設計
★Libevent為基礎的FTP伺服器設計

內容簡介

★高性能網路程式設計基本功
★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從入門到精通》

規格

誠品貨碼 / 2682531408005
ISBN13 / 9786267383384
ISBN10 /
EAN貨碼 / 9786267383384
頁數 / 520
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 17X23X1.3CM
級別 / N:無
提供維修 / 無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送