Kong網關:入門、實戰與進階(簡體書)
商品資訊
系列名:雲計算與虛擬化技術叢書
ISBN13:9787111689478
出版社:機械工業出版社
作者:孔慶雍
出版日:2021/09/01
裝訂/頁數:平裝/460頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
這是一本關於Kong網關開發和運維的集大成之作。作者基於自己在該領域的豐富實踐經驗,從零開始,不僅循序漸進地講解了Kong網關的核心概念、使用方法、工作原理、工程實踐和源碼,而且還將微服務設計、分布式架構、DevOps等相關技術融入其中,幫助讀者打通Kong網關的整個技術體系,輕鬆跨越從理論到項目實戰的鴻溝。
全書共16章,分為4篇,具體內容如下。
入門篇(第1~4章)
首先對網關層和Kong網關做了整體性介紹,然後有針對性地講解了Nginx、OpenResty和Lua語言等必備知識,為之後深入學習打下基礎。
基礎篇(第5~8章)
這部分圍繞Kong網關的日常配置和操作展開,具體包括Kong網關配置文件、部署方案、命令行向導、代理、鑒權、負載均衡策略和健康檢查機制等內容。
進階篇(第9~12章)
主要介紹了Kong網關區別於其他傳統網關的插件機制,以及Kong網關在整個架構體系中與其他系統之間的交互和聯動。
應用篇(第13~16章)
主要結合當前日益成熟的云原生環境,給出Kong網關在不同場景下的整體解決方案,如與微服務、Service Mesh、Kubernetes、Serverless的結合等。
作者簡介
畢業於同濟大學,曾就職於華為、中國移動、數禾科技等多家公司,任職期間參與了多個大型系統設計、研發工作。現任上海珞瑾數據信息有限公司CTO、首席架構師,在現公司主導了內部自研DevOps平臺的搭建及底層架構設計與規劃。敏捷開發思想踐行者,擅長利用技術推進項目管理與產品交付。
在企業級SaaS服務、大規模分布式架構、微服務治理、網關層設計研發等領域積累了豐富的經驗,在現公司主導研發的酒店管理系統已累計覆蓋10萬家門店,日均請求量超1億。
想要了解有關作者的更多信息,可以關注公眾號“熊貓CTO”。作者會在公眾號內定期分享互聯網生態中有關技術、設計、產品、運營等主題的原創文章。您也可以在公眾號下留言互動。
名人/編輯推薦
(2)作者經驗豐富:近10年開發和架構經驗,對大規模分布式、微服務、Kong網關等方面有深入研究,積累了豐富的實戰經驗;
(3)內容十分扎實:從核心概念、使用方法、工作原理、工程實踐、源碼分析等多個維度對Kong網關進行抽絲剝繭;
(4)技術融會貫通:本書不只是講Kong網關本身,同時還將微服務設計、分布式架構、DevOps、敏捷開發等技術融於一體;
序
隨著公司業務發展、技術架構升級,網關層的重要性在系統整體架構中日益凸顯。Kong網關作為新一代網關技術,不僅可以解決技術架構升級的痛點問題,也可以與DevOps理念有機結合,以技術推動產品業務發展,達到開發、測試、交付、運營多個維度的提升。
Kong網關的應用橫跨互聯網、電信、金融、制造、食品等領域,雅虎、GE、Honeywell、VMWare、Cisco、NASDAQ、MasterCard等多家大型企業都在使用。同時,Kong公司也是CNCF的成員之一,一直在積極推動云原生應用的發展。但相對而言,Kong網關在國內顯得不溫不火,一個主要原因是國內研發人員對網關層的認識還比較模糊,大家主要關注的是業務層代碼;另一個原因是大家對網關層的認識相對局限,由於眾多與各語言棧綁定的網關組件的存在(如Zuul、Spring Cloud Gateway等),而忽視了更高維度的網關層的必要性。
本書的初衷之一是在國內推廣Kong網關技術,利用Kong網關強大的性能和易於定制的特點幫助企業打造更符合現代軟件架構的網關層,解決技術轉型難題;同時分享一些筆者使用Kong網關的經驗,力求讓讀者能有所收獲。最後,希望能和讀者一起從Kong網關出發,了解更多、更前沿的技術走向,在技術的洪流中揚帆遠航。
讀者物件
本書的推薦讀者物件包含但不限於:
網關研發工程師、Kong網關插件開發工程師
系統架構師、DevOps工程師
對網關技術感興趣,並希望快速入門、進階的IT工程師
對系統架構設計、微服務治理、云原生環境等前沿技術感興趣的技術愛好者
本書特色
通過本書,筆者將帶領大家快速入門Kong網關,幫助讀者建立起網關層相關的完整知識體系,進而了解系統架構設計的全貌。本書的特點如下。
本書知識點由淺入深、層層遞進。通過嚴謹、清晰的脈絡結構,對Kong網關涉及的重點、難點知識逐一進行梳理、講解。
本書全文配以大量實戰項目和源碼分析,理論結合實踐,幫助讀者直觀、高效地掌握網關層相關知識,並快速應用於實際環境。
本書以Kong網關為線索,還會涉及系統架構設計、微服務治理、DevOps技術實踐、敏捷思想落地等眾多領域,為讀者還原現代技術架構的方方面面。
除技術討論之外,本書還會分享一些常用的學習方法論,以便讀者在學習其他技術時也能用到,達到事半功倍的效果。
如何閱讀本書
本書總共分為四篇。
入門篇(第1~4章):主要引導讀者對Kong網關有一個概要性認知,介紹了它的基礎使用指南和相關理論,以及一些掌握Kong網關必備的知識。
基礎篇(第5~8章):前兩章著重介紹了Kong網關的基礎配置、部署方案和命令行向導;後兩章介紹了Kong網關的代理、鑒權、負載均衡策略、健康檢查機制等一系列常用功能。
進階篇(第9~12章):介紹了Kong網關區別於其他傳統網關的插件機制,同時介紹了Kong網關在整個架構體系中與其他系統(諸如日志系統、網絡安全等)的交互。
應用篇(第13~16章):結合當前日益成熟的云原生環境,介紹了Kong網關針對不同場景給出的解決方案。
其中,後三篇的每一章都包含了大量示例工程。讀者可以直接使用Docker運行,結合實戰更好地理解書中所講的內容。如果讀者已經是一名經驗豐富的資深用戶,或者可熟練使用其他網關層組件,則可以根據目錄結構按需閱讀;如果讀者是一名初學者,或者希望更系統、扎實地了解Kong網關技術,推薦從入門篇的理論知識開始學習。
勘誤和支持
由於筆者水平有限,編寫時間倉促,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。書中的全部源文件可以從華章網站下載。如果你有更多寶貴意見和想法,可以關注公眾號“熊貓CTO”與我溝通。公眾號中提供了勘誤表,也會定期更新一些書籍相關的補充內容,歡迎大家訂閱。非常期待得到大家的真摯反饋。
致謝
首先要感謝Kong公司和社區的不懈努力,為我們打造了一款如此強大的軟件,使我們能站在巨人的肩膀上闊步前行。
其次,本書的寫作離不開各位小伙伴的支持和幫助。他們為本書提供了非常多的寶貴建議和貢獻,這裡依次對他們表示感謝:書中大量的環境搭建和示例設計均由葉寧配合完成,他也是一位Kong網關的資深運維專家,示例結果也由他反復驗證;書中多個章節的大量實戰源碼的貢獻者是方昆、李坤、廖云和吳俊(按姓氏首字母排序)。除此之外,還有很多給予過我幫助的小伙伴,是他們的無私付出使本書的內容更加飽滿。
這裡還要感謝機械工業出版社華章公司的楊福川老師,在這一年多的時間裡他始終支持我寫作,是他的鼓勵和幫助引導我順利完成全部書稿;同時要感謝董惠芝老師在寫作期間對我提供的細心指導和建議,是她細致的審稿和編排,才得以讓本書完整呈現。
最後還要特別感謝我的父母、妻子和家人,感謝他們對我自始至終的關心和支持。謹以此書獻給我最親愛的家人們,希望他們永遠幸福快樂!
孔慶雍
2021年4月
目次
入 門 篇
第1章 全面了解Kong網關 2
11 網關簡介 2
111 網關的由來 3
112 網關的作用 3
12 Kong網關簡介 6
121 Kong網關的發展歷程 6
122 Kong網關與傳統網關對比 6
123 其他主流網關 7
13 Kong網關基礎組件 12
131 Kong服務器 12
132 數據庫 13
133 Kong管理GUI 14
14 Kong網關安裝指南 14
141 在Mac環境中安裝Kong網關 15
142 在Linux環境中安裝Kong網關 15
143 在Docker環境中安裝Kong網關 15
15 使用Kong網關搭建Web應用 16
151 示例項目介紹 16
152 後端服務路由 18
153 靜態頁面代理 20
16 本章小結 24
第2章 Nginx必備知識 25
21 Nginx安裝 25
211 在Mac環境中安裝Nginx 25
212 在Linux環境中安裝Nginx 26
213 在Docker環境中安裝Nginx 26
22 Nginx詳解 26
221 Nginx文件的目錄結構 26
222 命令行參數 28
223 配置文件 29
224 依賴庫 32
225 Nginx的工作原理 33
226 Nginx優化指南 35
23 項目實踐 37
231 從Kong切換到Nginx 37
232 添加黑白名單 39
233 添加限流 39
234 從Nginx切換到Kong 41
235 小結 41
24 本章小結 42
第3章 Lua必備知識 43
31 Lua入門與規範 43
311 基礎知識 43
312 安裝指南 44
313 解釋器 45
314 語法規範 46
32 數據類型 47
33 操作符 52
34 表達式語句 54
341 賦值語句 54
342 控制語句 55
35 Lua庫 58
36 本章小結 62
第4章 OpenResty必備知識 63
41 OpenResty入門安裝 63
411 在Mac環境中安裝OpenResty 63
412 在Linux環境中安裝OpenResty 64
413 在Docker環境中安裝OpenResty 64
42 OpenResty詳解 64
421 OpenResty服務器的目錄結構 64
422 Resty CLI 65
423 OpenResty包管理工具 67
43 OpenResty工作原理 69
44 OpenResty性能優化 71
441 避免使用阻塞函數 72
442 巧用table組件 72
443 使用緩存 73
444 火焰圖 73
45 項目實踐 75
46 本章小結 82
基 礎 篇
第5章 Kong網關配置與部署 84
51 Kong啟動項配置 84
511 配置項加載流程 85
512 配置項詳解 86
513 環境變量 89
514 配置文件示例 89
52 注入Nginx指令 90
521 注入單個Nginx指令 91
522 通過文件方式注入Nginx指令 92
53 個性化使用場景 92
531 自定義Nginx模板文件 93
532 在OpenResty實例中嵌入Kong 93
54 Kong網關部署 94
541 無數據庫部署模式 94
542 數據庫部署模式 97
543 混合部署模式 100
55 本章小結 102
第6章 Kong網關命令行 103
61 通用標志參數 104
62 Kong網關命令行詳解 104
621 kong check 104
622 kong config 106
623 kong health 109
624 kong hybrid 109
625 kong migrations 110
626 kong prepare 112
627 kong quit 113
628 kong reload 113
629 kong restart 114
6210 kong start 114
6211 kong stop 115
6212 kong version 116
63 本章小結 116
第7章 Kong網關代理及鑒權 117
71 Kong網關代理基礎知識 117
711 Kong網關術語簡介 117
712 Kong網關代理環境配置 118
72 Kong網關代理示例 118
73 路由匹配規則 121
731 通用匹配規則 121
732 paths屬性 123
733 hosts屬性 126
734 methods屬性 128
735 headers屬性(hosts除外) 129
736 sources & destinations屬性 129
737 snis屬性 129
74 路由匹配優先級 130
741 優先級策略 130
742 後備路由策略 131
75 Kong網關代理行為 132
751 超時機制 132
752 錯誤重試機制 133
753 插件執行策略 133
754 響應內容 133
76 配置SSL協議 134
77 代理WebSocket流量 135
78 代理gRPC流量 138
79 Kong網關鑒權 140
791 通用鑒權流程 140
792 匿名接入流程 142
793 多重認證策略 143
710 本章小結 144
第8章 Kong網關負載均衡策略與健康檢查 145
81 負載均衡 145
811 負載均衡簡介 145
812 負載均衡解決方案 146
813 Kong網關中的負載均衡 146
82 基於DNS的負載均衡 146
821 A記錄(包含AAAA記錄) 147
822 SRV記錄 147
823 DNS 記錄優先級 147
824 其他注意事項 148
83 環狀負載均衡器 148
831 基礎概念 148
832 負載均衡策略 150
833 其他注意事項 151
84 負載均衡特性使用場景 151
841 藍綠發布 151
842 金絲雀發布 155
85 健康檢查 157
851 健康檢查標準 157
852 健康檢查類型 159
853 健康檢查配置 160
86 本章小結 162
進 階 篇
第9章 Kong網關插件 164
91 Kong網關插件簡介 164
911 Kong網關插件概念 164
912 Kong網關插件原理 165
92 Kong官方插件 166
921 鑒權類插件 166
922 安全類插件 177
923 流量類插件 179
924 分析監控類插件 195
925 內容轉換類插件 197
926 日志類插件 204
927 其他插件 210
93 自定義Kong網關插件 210
931 自定義插件開發流程和插件生命周期管理詳解 210
932 插件開發套件 240
933 Go插件開發向導 241
934 自定義插件實例 243
94 本章小結 245
第10章 Kong網關日志 246
101 Kong網關日志簡介 246
1011 Kong網關日志分類 246
1012 Kong網關日志級別 248
102 Kong網關結合日志平臺 249
1021 ELK方案簡介 249
1022 Kong網關結合ELK 253
1023 日志系統使用場景 256
103 自定義日志 261
1031 Kong網關定制日志 262
1032 ELK定制日志 264
1033 小結 265
104 本章小結 266
第11章 Kong網關運維 267
111 資源選型 267
1111 服務器資源 267
1112 數據庫資源 268
1113 彈性伸縮 269
1114 性能參數 269
112 Kong網關監控 270
1121 監控平臺選型 270
1122 搭建監控平臺 271
1123 Kong網關監控平臺配置 272
1124 Kong網關監控平臺指標詳解 278
1125 Kong監控平臺指標測試 279
1126 Kong監控平臺的預警功能 281
113 Kong網關運維 284
1131 數據備份 284
1132 軟/硬件維護 286
1133 突發事件處理 288
114 本章小結 288
第12章 Kong網關安全與集群高可用 289
121 Kong網關安全配置 289
1211 網絡層訪問限制 289
1212 Kong API 回路 290
1213 自定義Nginx配置 291
122 Kong集群 292
1221 Kong集群簡介 292
1222 Kong集群緩存 293
123 Kong網關高可用 298
1231 架構設計 298
1232 引入HAProxy層 300
1233 高可用方案測試 301
124 本章小結 308
應 用 篇
第13章 Kong網關結合微服務架構 310
131 微服務簡介 310
1311 微服務的優點 311
1312 單體應用和微服務 311
1313 微服務12要素 313
132 單體應用向微服務遷移 313
1321 采用微服務的注意事項 314
1322 遷移細節 314
133 使用CI/CD流程促進微服務開發 316
1331 CI/CD流程基礎組件 316
1332 構建CI/CD流程 318
134 基於Kong打造DevOps平臺 320
1341 場景描述 320
1342 設計思路 321
1343 DevOps平臺使用指南 325
1344 DevOps平臺源碼解析 329
1345 DevOps平臺擴展 335
135 本章小結 336
第14章 Kong網關結合Kubernetes架構方案 337
141 Kubernetes詳解 337
1411 Kubernetes簡介 337
1412 Kubernetes發展史 338
1413 Kubernetes基本概念和術語 340
1414 Kubernetes的HelloWorld示例 342
142 Kubernetes與Kong網關結合 350
1421 概念描述 350
1422 使用Kubernetes安裝Kong 358
143 Kubernetes實戰 359
1431 安裝Kong網關 359
1432 使用Kong網關 360
1433 配置Kong網關插件 361
144 本章小結 363
第15章 Service Mesh實踐之Kuma 364
151 Service Mesh簡介 364
152 Kuma簡介 366
1521 為什麼使用Kuma 366
1522 Kuma與其他Service Mesh方案的比較 366
1523 Kuma系統組件 367
1524 Kuma部署示例 368
153 Kuma策略概述 369
1531 策略配置項描述 369
1532 使用策略 370
1533 策略匹配規則 371
154 Kuma內置策略詳解 372
1541 安全類策略 372
1542 流量控制類策略 376
1543 觀測類策略 382
155 Kuma實戰 388
1551 適配Kuma架構 388
1552 啟動mTSL和TrafficPermission 390
156 本章小結 391
第16章 Serverless架構 392
161 Serverless簡介 392
1611 系統架構演
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

