-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
萬億級流量轉發:BFE核心技術與實現 版權信息
- ISBN:9787121415654
- 條形碼:9787121415654 ; 978-7-121-41565-4
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
萬億級流量轉發:BFE核心技術與實現 本書特色
適讀人群 :本書面向的讀者包括計算機網絡方向的研究者、網絡相關技術的開發者、一般后臺程序的開發者和負載均衡系統的使用者等。突破云端海量極限、百度十年技術積淀——BFE核心技術首次落地成書。 全球shou個以Go語言實現萬億次流量轉發的大規模平臺。 經歷百度春晚紅包巔峰決戰,是力扛極限并發流量沖擊的實戰寶典。 濃縮百度技術團隊多年對平臺架構及迭代的技術、創新、實踐和積累。 完整呈現BFE 原理設計、架構實踐和開發擴展,同時對流量調度、轉發接入、負載均衡有更深入的介紹。
萬億級流量轉發:BFE核心技術與實現 內容簡介
本書圍繞BFE 開源項目,介紹網絡前端接入和網絡負載均衡的相關技術原理,說明BFE開源軟件的設計思想和實現機制,講解如何基于BFE開源軟件搭建網絡接入平臺。本書共17 章,分為四個部分。部分為原理篇,介紹BFE 開源項目的概貌,并對網絡前端接入技術和網絡負載均衡技術做簡要介紹;第二部分為設計篇,介紹BFE 開源項目的設計細節,包括BFE 的設計思想、BFE 的轉發模型、BFE 的關鍵機制和HTTPS 的優化等;第三部分為操作篇,說明如何安裝和部署BFE、如何在各種使用場景下配置BFE;第四部分為實現篇,從處理流程、插件機制、協議實現等方面說明BFE的實現機制。
萬億級流量轉發:BFE核心技術與實現 目錄
原 理 篇
第1章 BFE簡介
1.1 什么是BFE
1.2 BFE平臺介紹
1.2.1 為什么需要構建BFE平臺
1.2.2 BFE平臺的主要功能
1.3 BFE開源項目介紹
1.3.1 BFE平臺的模塊組成
1.3.2 BFE開源項目中的內容
第2章 網絡前端接入技術簡介
2.1 什么是網絡前端接入
2.2 網絡前端接入面臨的挑戰
2.3 百度的網絡前端接入方案
2.4 網絡前端接入技術的發展趨勢
第3章 網絡負載均衡技術簡介
3.1 負載均衡的概念
3.2 網絡負載均衡功能的實現
3.2.1 機制說明
3.2.2 兩種方式對比
3.3 四層負載均衡和七層負載均衡
設 計 篇
第4章 BFE的設計思想
4.1 BFE轉發引擎重構的緣起
4.2 BFE為什么要基于Go語言
4.3 BFE轉發引擎的主要設計思想
4.4 BFE和相關開源項目的對比
第5章 BFE的轉發模型
5.1 轉發模型概述
5.1.1 基本概念
5.1.2 轉發過程
5.1.3 對多租戶實現機制的討論
5.2 BFE的路由轉發機制
5.3 條件表達式
5.3.1 設計思想
5.3.2 基本概念
5.3.3 語法介紹
5.3.4 條件原語匹配的內容
5.3.5 條件原語名稱的規范
5.4 內網流量調度機制
5.4.1 內網流量調度背景介紹
5.4.2 內網流量調度工作機制
5.4.3 內網轉發的其他機制
第6章 與轉發相關的關鍵機制
6.1 健康檢查機制
6.1.1 健康檢查的原理
6.1.2 主動健康檢查和被動健康檢查
6.1.3 分布式健康檢查和集中式健康檢查
6.1.4 BFE的健康檢查
6.2 超時設置
6.2.1 BFE和客戶端間通信的超時
6.2.2 BFE和后端實例間通信的超時
6.3 BFE信息透傳
6.3.1 客戶端IP地址的透傳
6.3.2 其他信息的透傳
6.4 限流機制
6.4.1 限流的概念
6.4.2 限流的配置
6.4.3 分布式限流
6.4.4 入口限流和目的限流
6.4.5 限流和內網流量調度
第7章 運維相關機制
7.1 監控機制
7.1.1 日志監控及其問題
7.1.2 BFE的內部狀態輸出
7.1.3 統計狀態和日志的配合使用
7.2 Web Monitor基礎庫
7.2.1 Web Monitor概述
7.2.2 狀態變量維護
7.2.3 延遲統計變量維護
7.2.4 建立專用的Web服務器
7.2.5 注冊回調函數
7.3 日志機制
7.3.1 日志類型
7.3.2 日志打印的注意事項
7.3.3 BFE的訪問日志
7.4 配置管理
7.4.1 BFE配置文件的分布
7.4.2 常規配置和動態配置
7.4.3 動態配置的實現機制
第8章 HTTPS的優化
8.1 HTTPS優化背景及必要性
8.2 HTTPS優化的挑戰
8.3 HTTPS中的優化機制
8.4 BFE中HTTPS相關增強機制
操 作 篇
9章 BFE服務的安裝部署
9.1 軟件安裝包下載安裝
9.2 源代碼編譯方式安裝
9.3 Docker方式安裝
9.4 BFE命令行參數
9.5 查看BFE服務的運行狀態
第10章 BFE服務的基礎配置
10.1 場景說明
10.2 修改基礎配置文件
10.3 轉發的配置
10.3.1 轉發配置流程
10.3.2 具體案例
10.3.3 服務訪問驗證
10.3.4 配置的重新加載
第11章 配置負載均衡算法及會話保持
11.1 子集群間的負載均衡
11.2 子集群級別的會話保持
11.2.1 配置實例
11.2.2 參數的具體含義
11.3 實例間的負載均衡
11.3.1 加權輪詢配置示例
11.3.2 *小連接數的配置示例
11.4 實例級別的會話保持
第12章 配置HTTPS和更多協議
12.1 設置HTTPS基礎配置
12.1.1 配置HTTPS端口
12.1.2 配置加密套件
12.1.3 配置服務端證書
12.1.4 配置TLS規則
12.2 配置TLS會話重用
12.2.1 配置會話緩存
12.2.2 配置會話票證
12.3 配置TLS雙向認證
12.4 對不同安全等級的區分
12.5 支持更多協議
12.5.1 HTTP/2配置
12.5.2 SPDY配置
12.5.3 WebSocket配置
12.5.4 連接后端服務的協議
第13章 其他常用配置
13.1 配置重寫
13.1.1 開啟重寫
13.1.2 模塊配置
13.1.3 重寫動作詳細描述
13.2 配置重定向
13.2.1 開啟重定向
13.2.2 模塊配置
13.2.3 重定向動作詳細描述
13.3 配置限流功能
13.3.1 開啟限流模塊
13.3.2 模塊配置
13.3.3 限制特定維度的流量
13.3.4 設置限流門限
13.3.5 設置限流動作
實 現 篇
第14章 BFE的基礎實現
14.1 BFE的代碼組織
14.2 BFE的進程模型
14.2.1 協程的分類
14.2.2 并發模型
14.2.3 并發能力
14.2.4 異常恢復機制
14.3 請求處理流程
14.3.1 連接的建立
14.3.2 連接的處理
14.3.3 請求的處理
14.3.4 請求的結束
14.3.5 連接的結束
14.4 請求路由實現
14.4.1 關鍵數據結構
14.4.2 目的租戶路由
14.4.3 目的集群路由
14.5 負載均衡實現
14.5.1 全局負載均衡
14.5.2 分布式負載均衡
第15章 模塊插件機制
15.1 BFE的回調點設置
15.2 BFE內置的擴展模塊
15.3 模塊框架的實現機制
15.3.1 模塊基礎類型
15.3.2 連接/請求處理及回調函數的調用
15.4 如何開發BFE擴展模塊
15.4.1 配置加載
15.4.2 回調函數的編寫和注冊
15.4.3 模塊狀態的展示
第16章 核心協議實現
16.1 HTTP的實現
16.1.1 HTTP代碼的組織
16.1.2 從用戶讀取HTTP請求
16.1.3 向后端轉發請求并獲取響應
16.1.4 向用戶回復HTTP響應
16.2 HTTP2的實現
16.2.1 HTTP2代碼的組織
16.2.2 HTTP2連接處理模塊
16.2.3 HTTP2連接相關協程及關系
第17章 BFE的多進程GC機制
17.1 模型設計
17.1.1 多進程輪轉機制
17.1.2 子進程狀態定義
17.2 相關參數的確定
17.2.1 切換時間參數的選擇
17.2.2 子進程數量的計算
17.2.3 內存消耗的計算
萬億級流量轉發:BFE核心技術與實現 節選
第1章 BFE簡介 本章將對BFE做一個概括介紹,主要內容如下。 (1)什么是BFE。 (2)構建BFE平臺的出發點及平臺主要功能。 (3)BFE開源項目情況。 1.1 什么是BFE BFE*初是Baidu Front End(百度統一前端)的縮寫。BFE平臺是百度統一的七層負載均衡接入轉發平臺,該平臺從2012年開始建設,截至2020年年底,平臺每日轉發的請求超過1萬億次,日峰值請求超過每秒1000萬次查詢。 2014年,BFE平臺的核心轉發引擎基于Go語言重構,并于2015年1月在百度全量上線。在全世界范圍內,BFE平臺是較早將Go語言用于負載均衡場景及大規模使用的項目。 2019年年初,BFE平臺成功地支持了百度春晚紅包項目。在本次項目中,BFE平臺提供了每秒億次級別請求的轉發能力,在海量流量下支持了HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,以安全為目標的HTTP通道)卸載,以及精確限流等關鍵能力,保證了活動的順利進行。 2019年7月,BFE平臺的轉發引擎對外開源。因為BFE開源項目在業界的巨大影響力,所以項目名稱仍保留英文縮寫BFE,但英文全稱更名為Beyond Front End(中文意為“超越前端”),我們希望通過BFE的開源推動負載均衡技術的發展。 2020年6月,BFE被CNCF(Cloud Native Computing Foundation,云原生計算基金會)接受為“沙盒項目(Sandbox Project)”。 BFE開源項目的地址為GitHub官網上的bfenetworks/bfe,也可以在GitHub中搜索“bfe”。 1.2 BFE平臺介紹 本節介紹BFE平臺的情況。首先介紹為什么需要構建BFE平臺,然后介紹BFE平臺的主要功能。 1.2.1 為什么需要構建BFE平臺 在傳統方案中,并不存在統一的七層負載均衡接入層,如圖1.1所示。在存在多個服務的場景下,各業務流量在經四層負載均衡的轉發后,直接到達業務的Web服務集群。 這種方案存在以下問題。 (1)功能重復開發。在協議處理、安全等方面,很多重要的功能都需要支持,考慮到各種業務集群在語言、技術棧上的差異,在多個不同的業務集群上支持相同的功能會帶來很高的研發成本。 (2)運維成本高。在某些場景下,需要多個業務同時上線相同的安全策略,在缺乏統一七層負載均衡接入層的情況下,需要在多個業務集群反復上線。這不僅僅帶來大量的上線工作成本,而且也使得策略的上線時間很長。 (3)流量統一控制能力低。由于各業務集群的分散性,在公司層面,缺乏對流量情況的統一觀察和控制能力,這也阻礙了對網絡資源的統一控制,以及對網絡服務質量的統一管理。 在引入BFE平臺后,所有流量都經過BFE的接入轉發后才到達業務Web服務集群,如圖1.2所示,從而帶來以下優點。 (1)功能統一開發。無論業務集群的技術有何差異,各種相關功能只需要在BFE平臺做一次開發即可。 (2)運維統一管理。對于需要普遍使用的安全策略,只需要在平臺上統一上線即可。 (3)增強流量控制能力。和四層負載均衡相比,七層負載均衡可以“看到”流量中更多的內容,可以在流量轉發、安全、數據統計等方面提供更強的能力。 1.2.2 BFE平臺的主要功能 作為一個綜合的大型七層負載均衡流量轉發平臺,BFE平臺包括以下4個主要功能,如圖1.3所示。 (1)接入和轉發。BFE平臺可以接收處理HTTP、HTTPS、HTTP/2、QUIC(Quick UDP Internet Connections,基于UDP的低延遲的互聯網傳輸層協議)等多種協議的流量,并基于HTTP 頭部信息做分流轉發。 (2)流量調度。BFE平臺包括由內網流量調度和外網流量調度所組成的兩層流量調度體系。 (3)安全防攻擊。BFE平臺支持多種安全能力,包括黑名單封禁、大容量限流、WAF(Web Application Firewall,應用層防火墻)等。 (4)數據分析。BFE平臺可以基于轉發日志生成實時流量報表,以此反映業務的流量變化情況及下游業務集群的健康狀態(錯誤數、延遲等)。
萬億級流量轉發:BFE核心技術與實現 作者簡介
章 淼 博士,百度智能云架構師,BFE開源項目發起人。1997年至2006年在清華大學從事互聯網協議和網絡體系結構的研究。2012年加入百度,一直從事網絡基礎架構的研發工作。同時積極推動百度的代碼質量和工程能力的提升,目前兼任百度代碼規范委員會主席。 楊思杰 百度資深研發工程師,BFE開源項目主要負責人。從零開始參與百度新一代BFE轉發平臺的建設及創新,擁有近10年的在網絡接入和系統架構方面的深入研究和實踐經驗。關注于通過開源驅動基礎軟件可持續發展及創造更大的價值。 戴 明 百度資深研發工程師,主要從事BFE相關系統和產品的研發工作。曾在朗訊、諾基亞等電信設備公司工作多年,從事電信軟件研發和架構設計工作。 陶春華 博士,百度資深研發工程師。2010年畢業于天津大學計算機系,2013年加入百度,先后參與智能流量調度、BFE的Go語言重構、BFE管控平臺等重大項目。目前工作重心是負載均衡商業產品的研發。
- >
經典常談
- >
史學評論
- >
姑媽的寶刀
- >
推拿
- >
我與地壇
- >
上帝之肋:男人的真實旅程
- >
煙與鏡
- >
莉莉和章魚