### 動態配置
Envoy架構支持多種的配置管理方法。采用哪種部署方法,取決于需求實現者。可以采用全靜態的配置方式,實現簡單的部署。更復雜的動態部署,需要采用更復雜的動態配置,需要基于實現者提供一個或多個外部REST的配置API。本文檔概述了可用的配置選項。
- 全量參考[配置](../../Configurationreference.md)
- 安裝參考[配置](../../Buildingandinstallation/Referenceconfigurations.md)
- [Envoy v2 API概述](../../Configurationreference/Overviewv2api.md)
#### 術語
- SDS([Service Discovery Service]())
- EDS([Endpoint Discovery Service]())
- CDS([Cluster Discovery Service]())
- RDS([Route Discovery Service]())
- LDS([Listener Discovery Service]())
#### 完全靜態
在完全靜態配置中,實現者提供了一組監聽器、過濾器鏈、集群以及HTTP路由配置可選。只能通過DNS服務來實現動態主機發現。必須通過內置的熱啟動機制進行配置的重新加載。
雖然簡單,當然可以使用靜態配置和優雅的熱重啟,來實現比較復雜的部署。
#### 僅限SDS/EDS
服務發現服務(SDS)API提供了一種更高級的機制,Envoy可以通過該機制發現上游群集的成員。SDS已在v2API中重命名為Endpoint Discovery Service(EDS)。在靜態配置的基礎上,SDS允許Envoy部署避開DNS的限制(響應中的最大記錄等),并消耗更多信息用于負載平衡和路由(例如,灰度發布,區域等)。
#### SDS/EDS和CDS
群集發現服務(CDS)API層上Envoy可以發現路由期間使用的上游群集的機制。Envoy將優雅地添加,更新和刪除由API指定的集群。這個API允許實現者構建一個拓撲,在這個拓撲中,Envoy在初始配置時,不需要知道所有的上游集群。通常,在與CDS一起進行HTTP路由(但沒有路由發現服務)時,實現者將利用路由器將請求轉發到HTTP請求標頭中指定的集群的能力。
雖然可以通過指定完全靜態集群來使用沒有SDS/EDS的CDS,但我們建議仍然使用SDS/EDS API來通過CDS指定集群。在內部,更新集群定義時,操作是優雅的。但是,所有現有的連接池將被斷開并重新連接。SDS/EDS不受此限制。當通過SDS/EDS添加和刪除主機時,群集中的現有主機不受影響。
#### SDS/EDS,CDS和RDS
路由發現服務(RDS)API層,Envoy可以在運行時發現HTTP連接管理器過濾器的整個路由配置。路由配置將優雅地交換,而不會影響現有的請求。該API與SDS/EDS和CDS一起使用時,允許執行者構建復雜的路由拓撲(流量轉移,藍/綠部署等),除了獲取新的Envoy二進制文件外,不需要任何Envoy重啟。
#### SDS/EDS,CDS,RDS和LDS
監聽器發現服務(LDS)在Envoy可以在運行時發現整個監聽器的機制上分層。這包括所有的過濾器堆棧,并包含嵌入式參考RDS的HTTP過濾器。在混合中添加LDS可以使Envoy的幾乎所有方面都能夠進行動態配置。只有非常少見的配置更改(管理員,跟蹤驅動等)或二進制更新時才需要熱啟動。
### 返回
- [架構介紹](../Architectureoverview.md)
- [簡介](../../Introduction.md)
- [首頁目錄](../../README.md)
- 首頁
- 簡介
- Envoy是什么
- 架構介紹
- 術語
- 線程模型
- 監聽器
- L3/L4網絡過濾器
- HTTP連接管理
- HTTP過濾器
- HTTP路由
- gRPC
- WebSocket支持
- 集群管理
- 服務發現
- 健康檢查
- 連接池
- 負載均衡
- 異常檢測
- 熔斷
- 全局限速
- TLS
- 統計
- 運行時配置
- 跟蹤
- TCP代理
- 訪問日志
- MongoDB
- DynamoDB
- Redis
- 熱重啟
- 動態配置
- 初始化
- 逐出
- 腳本
- 部署
- 業界對比
- 獲得幫助
- 歷史版本
- 編譯安裝
- 編譯
- 參考配置
- 演示沙箱
- 前端代理
- Zipkin跟蹤
- Jaeger跟蹤
- gRPC橋接
- 構建Envoy Docker鏡像
- 工具
- 配置參考
- V1 API 概述
- V2 API 概述
- 監聽器
- 網絡過濾器
- TLS客戶端身份認證
- Echo
- Mongo代理
- 速率限制
- Redis代理
- TCP代理
- HTTP連接管理器
- 路由匹配
- 流量轉移/分流
- HTTP頭部操作
- HTTP頭部清理
- 統計
- 運行時設置
- 路由發現服務
- HTTP過濾器
- 緩存
- CORS過濾器
- 故障注入
- DynamoDB
- gRPC HTTP/1.1 橋接
- gRPC-JSON 轉碼過濾器
- gRPC-Web 過濾器
- 健康檢查
- 速率限制
- 路由
- Lua
- 集群管理
- 統計
- 運行時設置
- 集群發現服務
- 健康檢查
- 熔斷
- 訪問日志
- 限速服務
- 運行時配置
- 路由表檢查工具
- 運維管理
- 命令行選項
- 熱重啟
- 管理接口
- 統計概述
- 運行時配置
- 文件系統
- 自定義擴展示例
- V1 API參考
- 監聽器
- 網絡過濾器
- TLS客戶端身份認證
- Echo
- HTTP連接管理
- Mongo代理
- 速率限制
- Redis代理
- TCP代理
- HTTP路由配置
- 虛擬主機
- 路由
- 虛擬集群
- 速率限制配置
- 路由發現服務
- HTTP過濾器
- 緩存
- CORS過濾器
- DynamoDB
- 故障注入
- gRPC HTTP/1.1 橋接
- gRPC-JSON 轉碼過濾器
- gRPC-Web 過濾器
- 健康檢查
- Lua
- 速率限制
- 路由
- 集群管理
- 集群
- 健康檢查
- 熔斷
- TLS上下文
- 異常值檢測
- HASH環負載均衡配置
- 異常檢測
- 集群發現服務
- 服務發現服務
- 訪問日志
- 管理接口
- 限速服務
- 運行時配置
- 跟蹤
- V2 API參考
- 啟動引導
- 監聽&監聽發現
- 集群&集群發現
- 服務發現
- 健康檢查
- HTTP路由管理&發現
- TLS配置
- 通用的類型
- 網絡地址
- 協議選項
- 發現API
- 限速組件
- 過濾器
- 網絡過濾器
- TLS客戶端身份認證
- HTTP連接管理
- Mongo代理
- 速率限制
- Redis代理
- TCP代理
- HTTP過濾器
- 緩存
- 故障注入
- 健康檢查
- Lua
- 速率限制
- 路由
- gRPC-JSON轉碼器
- 常見訪問日志類型
- 常見故障注入類型
- FAQ
- Envoy有多快?
- 我在哪里獲得二進制文件?
- 我如何設置SNI?
- 如何設置區域感知路由?
- 我如何設置Zipkin跟蹤?