作 者:孔慶雍 著
定 價:119
出 版 社:機械工業出版社
出版日期:2021年09月01日
頁 數:472
裝 幀:平裝
ISBN:9787111689478
(1)作者資歷深厚:作者是資深架構師,現任上海某科技公司CTO,曾就職於華為和中國移動;(2)作者經驗豐富:近10年開發和架構經驗,對大規模分布式、微服務、Kong網關等方面有深入研究,積累了豐富的實戰經驗;(3)內容十分扎實:從核心概念、使用方法、工作原理、工程實踐、源碼分析等多個維度對Kong網關進行抽絲剝繭;(4)技術融會貫通:本書不隻是講Kong網關本身,同時還將微服務設計、分布式架構、DevOps、敏捷開發等技術融於一體;
●前言
入門篇
第1章全面了解Kong網關
1.1網關簡介
1.1.1網關的由來
1.1.2網關的作用
1.2Kong網關簡介
1.2.1Kong網關的發展歷程
1.2.2Kong網關與傳統網關對比
1.2.3其他主流網關
1.3Kong網關基礎組件
1.3.1Kong服務器
1.3.2數據庫
1.3.3Kong管理GUI
1.4Kong網關安裝指南
1.4.1在Mac環境中安裝Kong網關
1.4.2在Linux環境中安裝Kong網關
1.4.3在Docker環境中安裝Kong網關
1.5使用Kong網關搭建Web應用
1.5.1示例項目介紹
1.5.2後端服務路由
1.5.3靜態頁面代理
1.6本章小結
第2章Nginx推薦知識
2.1Nginx安裝
2.1.1在Mac環境中安裝Nginx
2.1.2在Linux環境中安裝Nginx
2.1.3在Docker環境中安裝Nginx
2.2Nginx詳解
2.2.1Nginx文件的目錄結構
2.2.2命令行參數
2.2.3配置文件
2.2.4依賴庫
2.2.5Nginx的工作原理
2.2.6Nginx優化指南
2.3項目實踐
2.3.1從Kong切換到Nginx
2.3.2添加黑白名單
2.3.3添加限流
2.3.4從Nginx切換到Kong
2.3.5小結
2.4本章小結
第3章Lua推薦知識
3.1Lua入門與規範
3.1.1基礎知識
3.1.2安裝指南
3.1.3解釋器
3.1.4語法規範
3.2數據類型
3.3操作符
3.4表達式語句
3.4.1賦值語句
3.4.2控制語句
3.5Lua庫
3.6本章小結
第4章OpenResty推薦知識
4.1OpenResty入門安裝
4.1.1在Mac環境中安裝OpenResty
4.1.2在Linux環境中安裝OpenResty
4.1.3在Docker環境中安裝OpenResty
4.2OpenResty詳解
4.2.1OpenResty服務器的目錄結構
4.2.2RestyCLI
4.2.3OpenResty包管理工具
4.3OpenResty工作原理
4.4OpenResty性能優化
4.4.1避免使用阻塞函數
4.4.2巧用table組件
4.4.3使用緩存
4.4.4火焰圖
4.5項目實踐
4.6本章小結
基礎篇
第5章Kong網關配置與部署
5.1Kong啟動項配置
5.1.1配置項加載流程
5.1.2配置項詳解
5.1.3環境變量
5.1.4配置文件示例
5.2注入Nginx指令
5.2.1注入單個Nginx指令
5.2.2通過文件方式注入Nginx指令
5.3個性化使用場景
5.3.1自定義Nginx模板文件
5.3.2在OpenResty實例中嵌入Kong
5.4Kong網關部署
5.4.1無數據庫部署模式
5.4.2數據庫部署模式
5.4.3混合部署模式
5.5本章小結
第6章Kong網關命令行
6.1通用標志參數
6.2Kong網關命令行詳解
6.2.1kongcheck
6.2.2kongconfig
6.2.3konghealth
6.2.4konghybrid
6.2.5kongmigrations
6.2.6kongprepare
6.2.7kongquit
6.2.8kongreload
6.2.9kongrestart
6.2.10kongstart
6.2.11kongstop
6.2.12kongversion
6.3本章小結
第7章Kong網關代理及鋻權
7.1Kong網關代理基礎知識
7.1.1Kong網關術語簡介
7.1.2Kong網關代理環境配置
7.2Kong網關代理示例
7.3路由匹配規則
7.3.1通用匹配規則
7.3.2paths屬性
7.3.3hosts屬性
7.3.4methods屬性
7.3.5headers屬性(hosts除外)
7.3.6sources&destinations屬性
7.3.7snis屬性
7.4路由匹配優先級
7.4.1優先級策略
7.4.2後備路由策略
7.5Kong網關代理行為
7.5.1超時機制
7.5.2錯誤重試機制
7.5.3插件執行策略
7.5.4響應內容
7.6配置SSL協議
7.7代理WebSocket流量
7.8代理gRPC流量
7.9Kong網關鋻權
7.9.1通用鋻權流程
7.9.2匿名接入流程
7.9.3多重認證策略
7.10本章小結
第8章Kong網關負載均衡策略與健康檢查
8.1負載均衡
8.1.1負載均衡簡介
8.1.2負載均衡解決方案
8.1.3Kong網關中的負載均衡
8.2基於DNS的負載均衡
8.2.1A記錄(包含AAAA記錄)
8.2.2SRV記錄
8.2.3DNS記錄優先級
8.2.4其他注意事項
8.3環狀負載均衡器
8.3.1基礎概念
8.3.2負載均衡策略
8.3.3其他注意事項
8.4負載均衡特性使用場景
8.4.1藍綠發布
8.4.2金絲雀發布
8.5健康檢查
8.5.1健康檢查標準
8.5.2健康檢查類型
8.5.3健康檢查配置
8.6本章小結
進階篇
第9章Kong網關插件
9.1Kong網關插件簡介
9.1.1Kong網關插件概念
9.1.2Kong網關插件原理
9.2Kong官方插件
9.2.1鋻權類插件
9.2.2安全類插件
9.2.3流量類插件
9.2.4分析監控類插件
9.2.5內容轉換類插件
9.2.6日志類插件
9.2.7其他插件
9.3自定義Kong網關插件
9.3.1自定義插件開發流程和插件生命周期管理詳解
9.3.2插件開發套件
9.3.3Go插件開發向導
9.3.4自定義插件實例
9.4本章小結
第10章Kong網關日志
10.1Kong網關日志簡介
10.1.1Kong網關日志分類
10.1.2Kong網關日志級別
10.2Kong網關結合日志平臺
10.2.1ELK方案簡介
10.2.2Kong網關結合ELK
10.2.3日志繫統使用場景
10.3自定義日志
10.3.1Kong網關定制日志
10.3.2ELK定制日志
10.3.3小結
10.4本章小結
第11章Kong網關運維
11.1資源選型
11.1.1服務器資源
11.1.2數據庫資源
11.1.3彈性伸縮
11.1.4性能參數
11.2Kong網關監控
11.2.1監控平臺選型
11.2.2搭建監控平臺
11.2.3Kong網關監控平臺配置
11.2.4Kong網關監控平臺指標詳解
11.2.5Kong監控平臺指標測試
11.2.6Kong監控平臺的預警功能
11.3Kong網關運維
11.3.1數據備份
11.3.2軟/硬件維護
11.3.3突發事件處理
11.4本章小結
第12章Kong網關安全與集群高可用
12.1Kong網關安全配置
12.1.1網絡層訪問
12.1.2KongAPI回路
12.1.3自定義Nginx配置
12.2Kong集群
12.2.1Kong集群簡介
12.2.2Kong集群緩存
12.3Kong網關高可用
12.3.1架構設計
12.3.2引入HAProxy層
12.3.3高可用方案測試
12.4本章小結
應用篇
第13章Kong網關結合微服務架構
13.1微服務簡介
13.1.1微服務的優點
13.1.2單體應用和微服務
13.1.3微服務12要素
13.2單體應用向微服務遷移
13.2.1采用微服務的注意事項
13.2.2遷移細節
13.3使用CI/CD流程促進微服務開發
13.3.1CI/CD流程基礎組件
13.3.2構建CI/CD流程
13.4基於Kong打造DevOps平臺
13.4.1場景描述
13.4.2設計思路
13.4.3DevOps平臺使用指南
13.4.4DevOps平臺源碼解析
13.4.5DevOps平臺擴展
13.5本章小結
第14章Kong網關結合Kubernetes架構方案
14.1Kubernetes詳解
14.1.1Kubernetes簡介
14.1.2Kubernetes發展史
14.1.3Kubernetes基本概念和術語
14.1.4Kubernetes的HelloWorld示例
14.2Kubernetes與Kong網關結合
14.2.1概念描述
14.2.2使用Kubernetes安裝Kong
14.3Kubernetes實戰
14.3.1安裝Kong網關
14.3.2使用Kong網關
14.3.3配置Kong網關插件
14.4本章小結
第15章ServiceMesh實踐之Kuma
15.1ServiceMesh簡介
15.2Kuma簡介
15.2.1為什麼使用Kuma
15.2.2Kuma與其他ServiceMesh方案的比較
15.2.3Kuma繫統組件
15.2.4Kuma部署示例
15.3Kuma策略概述
15.3.1策略配置項描述
15.3.2使用策略
15.3.3策略匹配規則
15.4Kuma內置策略詳解
15.4.1安全類策略
15.4.2流量控制類策略
15.4.3觀測類策略
15.5Kuma實戰
15.5.1適配Kuma架構
15.5.2啟動mTSL和TrafficPermission
15.6本章小結
第16章Serverless架構
16.1Serverless簡介
16.1.1繫統架構演化
16.1.2部署方式演化
16.1.3Serverless內核
16.2Serverless實踐
16.2.1搭建開發環境
16.2.2Web應用服務
16.3本章小結
附錄ADocker安裝指南
附錄BKONGA安裝指南
附錄C數據庫明細
附錄DAdminAPI
這是一本關於Kong網關開發和運維的集大成之作。作者基於自己在該領域的豐富實踐經驗,從零開始,不僅循序漸進地講解了Kong網關的核心概念、使用方法、工作原理、工程實踐和源碼,而且還將微服務設計、分布式架構、DevOps等相關技術融入其中,幫助讀者打通Kong網關的整個技術體繫,輕松跨越從理論到項目實戰的鴻溝。全書共16章,分為4篇,具體內容如下。入門篇(第1~4章)首先對網關層和Kong網關做了整體性介紹,然後有針對性地講解了Nginx、OpenResty和Lua語言等推薦知識,為之後深入學習打下基礎。基礎篇(第5~8章)這部分圍繞Kong網關的日常配置和操作展開,具體包括Kong網關配置文件、部署方案、命令行向導、代理、鋻權、負載均衡策略和健康檢查機制等內容。進階篇(第9~12章)主要介紹了Kong網關區別於其他傳統網關的插件機制,以及Kong網關在整個架構體繫中與其他繫統之間的交互和聯等