Apache APISIX 實戰

王院生,張晉濤,屠正松 等

  • 出版商: 機械工業
  • 出版日期: 2023-04-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • 頁數: 442
  • 裝訂: 平裝
  • ISBN: 7111722507
  • ISBN-13: 9787111722502
  • 立即出貨

買這商品的人也買了...

商品描述

這是一本從設計理念、功能使用、工作原理、二次開發、插件擴展、企業實踐等多個維度全面講解Apache APISIX的著作。
本書由Apache APISIX官方出品,由創始團隊和核心開發團隊成員撰寫,同時融入了大量Apache APISIX典型客戶的經驗和案例,

全書內容分為三部分:
首先,簡單介紹API和 APISIX的概念與背景,通過一些API網關的基礎功能介紹,幫助讀者更快速地從理論和操作方面來理解APISIX。
其次,著重講解APISIX在多個功能層面(安全、服務治理、可觀測性、二次開發等)
的實踐場景與操作細節,以及二次開發擴展的插件使用。

蕞後,介紹APISIX在Ingress和服務網格領域的方案和產品呈現,
同時通過多個不同業務類型與風格的企業用戶案例講解,
帶來更多關於APISIX在實際生產環境中的應用流程。

目錄大綱

前言
第一部分APISIX入門
第1章初識API 2
1.1 API:萬物互聯的起源2
1.1.1 什麼是API 2
1.1.2 利用API可以做什麼4
1.2 API網關:連接與管理並行5
1.2.1 什麼是API網關5
1.2.2 API 網關的作用7
第2章Apache APISIX介紹10
2.1 Apache APISIX概述10
2.1.1 誕生背景:API的崛起10
2.1.2 Apache APISIX能做什麼13
2.2 Apache APISIX的設計理念與項目優勢16
2.2.1 設計理念16
2.2.2 項目優勢19
第3章快速上手 Apache APISIX 23
3.1 安裝APISIX 23
3.1.1 使用RPM安裝23
3.1.2 使用Docker安裝25
3.1.3 使用Helm安裝27
3.2 APISIX相關概念28
3.2.1 反向代理28
3.2.2 請求限制30
3.2.3 身份驗證33
3.3 APISIX 架構35
3.3.1 思考:API網關的形態演進35
3.3.2 探索:Apache APISIX技術選型37
3.3.3 確認:Apache APISIX架構39
第4章Apache APISIX部署與配置42
4.1 公有云部署42
4.1.1 在AWS EKS上部署APISIX 42
4.1.2 在 Google GKE 上部署 APISIX 43
4.1.3 在阿里雲ACK上部署APISIX 45
4.2 配置文件46
4.2.1 Standalone模式46
4.2.2 集群模式47
4.2.3 Debug模式54
4.3 安全性配置54
4.3.1 控制面和數據面獨立部署54
4.3.2 插件54
4.4 多種配置中心選擇55
第5章Apache APISIX的基礎功能57
5.1 流量切分57
5.1.1 原理58
5.1.2 參數59
5.1.3 應用場景59
5.2 健康檢查65
5.2.1 原理66
5.2.2 參數67
5.2.3 應用場景68
5.3 負載均衡70
5.3.1 加權輪詢71
5.3.2 一致性哈希72
5.3.3 加權最少連接數73
5.3.4 指數加權移動平均75
5.4 跨域資源共享77
5.4.1 原理77
5.4.2 參數77
5.4.3 使用方法78
5.4.4 應用場景79
5.5 IP黑白名單79
5.5.1 原理80
5.5.2 參數80
5.5.3 應用場景81
5.6 啟用與禁用插件82
5.6.1 插件簡介82
5.6.2 啟用插件83
5.6.3 禁用插件84
第二部分APISIX
第6章身份認證與鑑權86
6.1 JWT 認證86
6.1.1 插件簡介86
6.1.2 配置示例87
6.1.3 應用場景88
6.1.4 與Vault集成90
6.2 關鍵字認證98
6.2.1 插件簡介98
6.2.2 配置示例98
6.2.3 應用場景99
6.3 OpenID 認證102
6.3.1 背景介紹102
6.3.2 原理104
6.3.3 集成第三方使用場景105
6.4 LDAP 認證123
6.4.1 插件簡介123
6.4.2 配置示例124
6.4.3 應用場景125
6.5 forward-auth插件127
6.5.1 插件簡介127
6.5.2 配置示例127
6.5.3 應用場景128
6.6 consumer-restriction插件131
6.6.1 插件簡介131
6.6.2 參數132
6.6.3 應用場景132
第7章API和服務治理139
7.1 數據面服務發現139
7.1.1 集成Eureka 139
7.1.2 集成Consul 143
7.1.3 集成Nacos 146
7.2 控制面服務發現150
7.2.1 原理150
7.2.2 集成Nacos 151
7.2.3 集成ZooKeeper 154
7.3 服務熔斷156
7.3.1 原理156
7.3.2 參數157
7.3.3 應用場景158
7.4 流量鏡像160
7.4.1 插件簡介160
7.4.2 參數161
7.4.3 應用場景161
7.5 故障注入165
7.5.1 插件簡介165
7.5.2 參數166
7.5.3 應用場景166
7.6 DNS配置170
7.6.1 原理170
7.6.2 應用場景171
第8章SSL證書配置177
8.1 SSL證書配置簡介177
8.1.1 單域名177
8.1.2 泛域名179
8.1.3 多域名180
8.1.4 單域名,多證書181
8.2 同域名RSA與ECC雙證書配置181
8.2.1 原理181
8.2.2 使用示例181
8.3 TLS雙向認證183
8.3.1 原理184
8.3.2 應用場景184
第9章可觀測性189
9.1 鏈路追踪189
9.1.1 集成Apache SkyWalking 189
9.1.2 集成OpenTelemetry 194
9.2 指標200
9.2.1 集成Datadog 200
9.2.2 集成Prometheus 205
9.3 日誌211
9.3.1 訪問日誌211
9.3.2 錯誤日誌241
9.3.3 日誌文件自動切分246
第10章運維管理249
10.1 命令行交互249
10.2 Admin API 253
10.2.1 配置Admin API 254
10.2.2 功能介紹256
10.3 Control API 259
10.3.1 配置Control API 259
10.3.2 功能介紹261
10.4 單機模式262
10.4.1 相關配置263
10.4.2 應用場景263
10.5 etcd通信安全265
10.5.1 相關配置265
10.5.2 開啟mTLS雙向認證266
10.5.3 配置etcd RBAC 267
10.6 證書輪轉268
10.7 Public API 270
10.7.1 插件簡介270
10.7.2 應用場景272
第11章二次開發與擴展操作276
11.1 自定義插件276
11.1.1 加載自定義插件276
11.1.2 啟動自定義插件278
11.1.3 自定義插件的使用281
11.2 插件熱加載284
11.3 多語言插件開發285
11.3.1 實現方式285
11.3.2 使用Go開發插件286
11.3.3 使用Java開發插件291
11.3.4 使用Python開發插件295
11.3.5 使用Wasm開發插件299
第12章自定義協議支持304
12.1 基礎協議支持304
12.1.1 HTTP/1.1和HTTP/2 304
12.1.2 HTTPS 306
12.1.3 MQTT 307
12.1.4 GraphQL 308
12.1.5 Dubbo 309
12.1.6 gRPC 310
12.1.7 WebSocket 312
12.1.8 WebSocket Secure 313
12.1.9 TCP/UDP 314
12.1.10 代理到TLS over TCP上游316
12.2 xRPC 自定義協議框架316
12.2.1 相關概念316
12.2.2 操作步驟317
12.2.3 應用場景318
12.3 通過APISIX代理Kafka 320
12.3.1 原理320
12.3.2 使用方法321
第13章故障排除323
13.1 常見故障排除324
13.2 靜態分析327
13.2.1 日誌結構327
13.2.2 棧分析328
13.3 動態調試333
13.3.1 基本調試模式333
13.3.2 高級調試模式335
13.3.3 動態高級調試模式339
第三部分基於APISIX的綜合實踐
第14章APISIX Ingress Controller 344
14.1 Ingress知識概覽344
14.1.1 Kubernetes Ingress是什麼344
14.1.2 為什麼需要Ingress控制器346
14.1.3 Ingress控制器的能力347
14.1.4 APISIX Ingress Controller簡介347
14.2 快速入門350
14.2.1 架構設計350
14.2.2 自定義資源351
14.2.3 功能及應用場景354
14.3 安裝部署358
14.3.1 Helm安裝358
14.3.2 靜態文件安裝359
14.3.3 KubeSphere安裝360
14.3.4 Rancher安裝367
14.4 應用場景372
14.4.1 簡單代理372
14.4.2 流量切分376
14.4.3 cert-manager集成380
14.4.4 認證鑑權387
14.4.5 插件集成392
14.5 與Kubernetes Ingress NGINX的區別393
14.6 監控與升級394
14.6.1 監控395
14.6.2 升級397
第15章APISIX服務網格方案399
15.1 服務網格簡介399
15.1.1 什麼是服務網格399
15.1.2 服務網格的價值401
15.1.3 什麼是Istio 403
15.1.4 APISIX服務網格架構404
15.2 安裝部署405
15.3 測試驗證407
15.4 擴展408
第16章Apache APISIX企業級實踐410
16.1 音視頻:愛奇藝API網關的更新與落地實踐410
16.1.1 業務痛點410
16.1.2 應用APISIX後的實踐細節411
16.1.3 遷移過程中遇到的問題414
16.2 互聯網保險:如何借助APISIX實現互聯網保險領域的流量治理415
16.2.1 業務場景特點415
16.2.2 場景痛點與需求416
16.2.3 應用APISIX後的實踐細節416
16.3 跨國金融:Airwallex基於APISIX的智能路由實踐419
16.3.1 業務痛點419
16.3.2 打造APISIX智能路由網關421
16.4 社交媒體:新浪微博API網關的定制化開發之路424
16.4.1 業務痛點425
16.4.2 基於控制面的改造之路425
16.4.3 基於數據面的改造之路428
16.5 PaaS業務:有贊雲原生PaaS平台如何實現全面微服務治理430
16.5.1 業務痛點430
16.5.2 應用APISIX後的實踐細節432
16.6 API管理:API7 Cloud的應用實踐436
16.6.1 業務背景436
16.6.2 應用APISIX後的實踐細節437
附錄探索與未來442