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