|
-- 會員 / 註冊 --
|
|
|
|
Kong入門與實戰 基于Nginx和OpenResty的云原生微服務網關 ( 簡體 字) |
作者:閆觀濤 | 類別:1. -> 程式設計 -> 網路編程 -> Nginx |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 54094 詢問書籍請說出此書號!【缺書】 NT售價: 545 元 |
出版日:1/1/2021 |
頁數:372 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115554901 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書是一本介紹云原生微服務網關Kong的入門與實戰的書,內容全面務實、由淺入深,幾乎涵蓋Kong相關的所有知識點。全書共12章,包括Kong的基礎知識點概述、安裝和基本概念、管理運維、基本功能、配置詳解、Lua語言、日志收集與分析、指標監控與報警、Kong的高級進階、內置插件與自定義插件、高級案例實戰。本書配有大量的實戰示例,尤其是第12章的九大新穎場景案例,使讀者從理論到實戰學以致用。 本書適合軟件開發人員、測試人員、運維人員、安全人員、架構師、技術經理等IT資深人士閱讀。 |
目錄:第1章 基礎知識點概述 1 1.1 網關 1 1.2 微服務 1 1.3 Nginx 2 1.4 OpenResty 3 1.5 Kong 5 1.6 Kong 的插件 5 1.7 服務網格 7 1.8 小結 8 第 2 章 Kong 的安裝和基本概念 9 2.1 Kong 的安裝部署 9 2.1.1 環境介紹 10 2.1.2 直接安裝 10 2.1.3 容器安裝 10 2.1.4 Kubernetes 安裝 11 2.2 Kong 數據庫的安裝部署 11 2.2.1 PostgreSQL 11 2.2.2 Cassandra 12 2.2.3 DB-less 12 2.3 Kong 基礎配置 15 2.4 Kong 的啟動和停止 16 2.5 Kong 的基礎對象 17 2.5.1 路由 18 2.5.2 服務 19 2.5.3 上游 20 2.5.4 目標 22 2.5.5 消費者 22 2.5.6 插件 22 2.5.7 證書 24 2.5.8 SNI 24 2.5.9 對象之間的關系 24 2.6 小結 26 第 3 章 Kong 的管理運維 27 3.1 Konga 介紹 27 3.2 源碼安裝 28 3.2.1 安裝 Git 和 Node.js 28 3.2.2 安裝 Konga 28 3.2.3 配置 Konga 28 3.2.4 啟動 Konga 29 3.3 容器安裝 29 3.4 連接 Konga 與 Kong 30 3.5 Konga 模塊與功能 31 3.5.1 首頁儀表盤 32 3.5.2 集群節點信息 33 3.5.3 服務管理 34 3.5.4 路由管理 36 3.5.5 消費者管理 36 3.5.6 插件管理 38 3.5.7 上游管理 39 3.5.8 目標節點管理 39 3.5.9 證書管理 40 3.5.10 用戶管理 41 3.5.11 快照管理 41 3.5.12 系統設置 42 3.6 All-In-One 43 3.7 小結 45 第4章 Kong 的基本功能 46 4.1 路由轉發 46 4.1.1 配置服務 46 4.1.2 配置路由 47 4.1.3 測試轉發請求 48 4.2 負載均衡 48 4.2.1 案例準備 49 4.2.2 配置服務 52 4.2.3 配置路由 53 4.2.4 配置上游 54 4.2.5 添加目標節點 55 4.2.6 驗證結果 56 4.3 灰度發布 58 4.4 藍綠部署 60 4.5 正則路由 60 4.6 HTTPS 跳轉 61 4.7 混合模式 63 4.7.1 案例準備 63 4.7.2 部署網格集群 64 4.7.3 驗證網格集群 65 4.7.4 配置路由及限速 65 4.7.5 驗證 67 4.8 TCP 流代理 67 4.9 小結 70 第 5 章 Kong 的配置詳解 71 5.1 常規通用配置 71 5.2 Nginx 通用配置 72 5.2.1 代理 / 監聽類 72 5.2.2 工作進程類 74 5.2.3 請求類 74 5.2.4 SSL/TLS 類 75 5.2.5 真實 IP 類 75 5.2.6 其他類 76 5.3 指令注入配置 77 5.4 數據存儲配置 78 5.5 存儲緩存配置 80 5.6 DNS 解析配置 81 5.7 路由同步配置 82 5.8 Lua 綜合配置 83 5.9 混合模式配置 83 5.10 小結 84 第 6 章 Lua 語言 85 6.1 簡介 85 6.2 環境 85 6.3 注釋 86 6.4 變量 86 6.5 數據類型 87 6.6 字符串 87 6.7 運算符 88 6.7.1 算術運算符 88 6.7.2 關系運算符 89 6.7.3 邏輯運算符 89 6.7.4 連接運算符 89 6.8 控制語句 90 6.8.1 分支語句 90 6.8.2 循環語句 91 6.8.3 中斷語句 92 6.9 函數 93 6.9.1 可變參數 94 6.9.2 多值返回 94 6.9.3 命名參數 95 6.10 表 95 6.10.1 表的構造 95 6.10.2 表的引用 97 6.10.3 表的迭代 97 6.10.4 表的操作 98 6.10.5 元表 99 6.10.6 類對象 100 6.11 模塊 101 6.11.1 模塊定義 101 6.11.2 加載函數 101 6.11.3 加載機制 102 6.12 小結 103 第 7 章 日志收集與分析 104 7.1 日志的分類與配置 104 7.1.1 訪問日志的屬性 104 7.1.2 訪問日志的配置 105 7.1.3 錯誤日志的配置 106 7.2 ELK+Filebeat 的選擇 107 7.3 Filebeat 107 7.3.1 安裝 107 7.3.2 配置 107 7.3.3 啟動 109 7.4 Elasticsearch 109 7.4.1 安裝 109 7.4.2 配置 109 7.4.3 啟動 110
7.5 Logstash 111 7.5.1 安裝 111 7.5.2 配置 111 7.5.3 啟動 111 7.6 Kibana 112 7.6.1 安裝 112 7.6.2 配置 112 7.6.3 啟動 112 7.6.4 應用 113 7.7 Elasticsearch 的輔助工具 116 7.8 小結 118 第 8 章 指標監控與報警 119 8.1 Kong 的監控指標 119 8.2 Prometheus 122 8.2.1 安裝 122 8.2.2 配置 122 8.2.3 啟動 123 8.2.4 驗證 123 8.3 Grafana 125 8.3.1 安裝 125 8.3.2 配置 125 8.3.3 啟動 125 8.4 監控指標的可視化 126 8.5 監控指標的報警 129 8.5.1 郵件報警 129 8.5.2 企業微信報警 133 8.6 小結 135 第 9 章 高級進階 136 9.1 負載均衡的原理 136 9.1.1 基于 DNS 的負載均衡 136 9.1.2 基于環形均衡器的負載均衡 137 9.2 健康檢測的原理 140 9.2.1 健康檢測的原理 140 9.2.2 健康檢測的類型 142 9.3 集群機制的原理 143 9.3.1 單節點 Kong 144 9.3.2 多節點 Kong 集群 144 9.3.3 數據庫緩存 144 9.4 緩存管理 145 9.4.1 lua_shared_dict 145 9.4.2 lua-resty-lrucache 149 9.4.3 lua-resty-mlcache 150 9.5 定時器 155 9.5.1 ngx.timer.at 155 9.5.2 ngx.timer.every 156 9.5.3 參數控制和優化 157 9.6 進程管理 157 9.6.1 主 / 工作進程 158 9.6.2 單進程 158 9.6.3 輔助進程 158 9.6.4 信號進程 159 9.6.5 特權代理進程 159 9.7 協程管理 159 9.7.1 ngx.thread.spawn 159 9.7.2 ngx.thread.wait 160 9.7.3 ngx.thread.kill 161 9.8 Kong 參數優化 161 9.8.1 驚群效應 161 9.8.2 參數優化 162 9.9 Kong 與 HTTP2 165 9.10 Kong 與 WebSocket 167 9.11 Kong 與 gRPC 171 9.12 Kong 與 LVS 173 9.12.1 基本概念 173 9.12.2 LVS 的三種模式 175 9.12.3 LVS 負載均衡算法 178 9.12.4 Keepalived+LVS+Kong實踐 179 9.13 Kong 與 Consul 184 9.13.1 整體框架結構圖 185 9.13.2 Kong+Consul 實踐 186 9.14 Kong 與 Kubernetes 192 9.14.1 基本概念 192 9.14.2 安裝 Kong Ingress Controller ..193 9.14.3 驗證 Kong Ingress Controller ..194 9.15 Kong 的安全 198 9.15.1 通過 3 層或者 4 層網絡控制 ..198 9.15.2 Kong API 本地回環 199 9.16 火焰圖 199 9.16.1 概念 199 9.16.2 安裝火焰圖工具 200 9.16.3 生成火焰圖 201 9.17 小結 203
第 10 章 內置插件
10.1 插件分類 204 10.2 環境準備 204 10.3 身份驗證 207 10.3.1 基本身份驗證 207 10.3.2 密鑰身份驗證 211 10.3.3 HMAC 身份驗證 213 10.3.4 OAuth 2.0 216 10.4 安全防護 223 10.4.1 IP 限制 223 10.4.2 機器人檢測 224 10.4.3 CORS 227 10.5 流量控制 228 10.5.1 請求大小限制 228 10.5.2 終止請求 230 10.6 無服務器架構 232 10.6.1 AWS Lambda 232 10.6.2 Azure Functions 235 10.6.3 Serverless Functions 237 10.7 分析監控 240 10.7.1 Prometheus 240 10.7.2 Zipkin 242 10.8 信息轉換器 244 10.8.1 請求轉換器 244 10.8.2 響應轉換器 246 10.8.3 Correlation ID 247 10.9 日志記錄 249 10.9.1 UDP 日志 249 10.9.2 HTTP 日志 253 10.9.3 Kafka 日志 255 10.9.4 MySQL 日志 261 10.10 小結 264 第 11 章 自定義插件 265 11.1 簡介 265 11.1.1 基本插件 265 11.1.2 高級插件 266 11.2 原理 266 11.3 詳解 PDK 269 11.3.1 單個屬性 269 11.3.2 kong.client 270 11.3.3 kong.ctx 273 11.3.4 kong.ip 274 11.3.5 kong.log 275 11.3.6 kong.nginx 277 11.3.7 kong.node 277 11.3.8 kong.request 278 11.3.9 kong.response 284 11.3.10 kong.router 288 11.3.11 kong.service 289 11.3.12 kong.service.request...290 11.3.13 kong.service.response ...296 11.3.14 kong.table 298 11.4 插件開發 299 11.5 插件測試的運行環境 299 11.6 插件的制作與安裝 300 11.7 插件測試與運行 302 11.8 插件與 C 語言 304 11.9 插件與 Go 語言 306 11.9.1 Go 安裝 306 11.9.2 開發流程 307 11.9.3 開發示例 308 11.10 小結 第 12 章 高級案例實戰 312 12.1 案例 1:智能路由 312 12.1.1 插件需求 313 12.1.2 插件開發 313 12.1.3 插件部署 315 12.1.4 插件配置 316 12.1.5 插件驗證 317 12.2 案例 2:動態限頻 317 12.2.1 插件需求 318 12.2.2 插件開發 319 12.2.3 插件部署 325 12.2.4 插件配置 325 12.2.5 插件驗證 327 12.3 案例 3:下載限流 327 12.3.1 插件需求 328 12.3.2 插件開發 328 12.3.3 插件部署 329 12.3.4 插件配置 329 12.3.5 插件驗證 330 12.4 案例 4:流量鏡像 331 12.4.1 插件需求 332 12.4.2 插件開發 332 12.4.3 插件部署 333 12.4.4 插件配置 334 12.4.5 插件驗證 334 12.5 案例 5:動態緩存 335 12.5.1 插件需求 335 12.5.2 插件開發 336 12.5.3 插件部署 339 12.5.4 插件配置 340 12.5.5 插件驗證 341 12.6 案例 6:IP 地址位置 342 12.6.1 插件需求 342 12.6.2 插件開發 343 12.6.3 插件部署 345 12.6.4 插件配置 345 12.6.5 插件驗證 346 12.7 案例 7:合并靜態文件 347 12.7.1 插件需求 347 12.7.2 插件開發 348 12.7.3 插件部署 350 12.7.4 插件配置 351 12.7.5 插件驗證 352 12.8 案例 8:WAF 352 12.8.1 插件需求 353 12.8.2 插件開發 353 12.8.3 插件部署 358 12.8.4 插件配置 359 12.8.5 插件驗證 360 12.9 案例 9:跨數據中心 361 12.9.1 插件需求 361 12.9.2 源碼調整 362 12.9.3 插件開發 363 12.9.4 插件部署 364 12.9.5 插件配置 365 12.9.6 插件驗證 365 12.10 小結 366 附錄 A Kong CLI 367 附錄 B Kong PDK 索引表 370
|
序: |
|