Easegress全功能型流量調(diào)度和編排系統(tǒng)
Easegress 是一個(gè)云原生流量編排系統(tǒng),設(shè)計(jì)用于:
- 高可用性:內(nèi)置的 Raft 共識(shí)和領(lǐng)導(dǎo)者選舉提供 99.99% 的可用性。
- 流量編排:對(duì)每個(gè)流量管道的各種過(guò)濾器進(jìn)行簡(jiǎn)單的編排。
- 高性能:輕量級(jí)和基本功能可加快性能。
- 可觀察性:以可讀的方式周期性地有許多有意義的統(tǒng)計(jì)數(shù)據(jù)。
- 可擴(kuò)展性:使用高級(jí)編程語(yǔ)言可以輕松開發(fā)自己的過(guò)濾器或控制器。
- 集成:簡(jiǎn)單的接口使其易于與其他系統(tǒng)集成,例如 Kubernetes Ingress、EaseMesh sidecar、Workflow 等。
Easegress 的基本常見用法是為后端服務(wù)器快速設(shè)置代理。
Easegress 的架構(gòu):
特性:
- 服務(wù)管理
- 多種協(xié)議:
- HTTP/1.1
- HTTP/2
- HTTP/3(QUIC)
- MQTT(即將推出)
- 豐富的路由規(guī)則:精確路徑、路徑前綴、路徑的正則表達(dá)式、方法、標(biāo)頭。
- 彈性和容錯(cuò)
- 斷路器:暫時(shí)阻斷可能的故障。
- 速率限制器:限制傳入請(qǐng)求的速率。
- 重試器:重復(fù)失敗的執(zhí)行。
- 時(shí)間限制器:限制執(zhí)行的持續(xù)時(shí)間。
- 部署管理
- 藍(lán)綠策略:一次切換流量。
- Canary 策略:稍微安排流量。
- API 管理
- API聚合:聚合多個(gè)API的結(jié)果。
- API 編排:編排API的流程。
- 安全
- 管道過(guò)濾機(jī)制
- 責(zé)任鏈模式:編排過(guò)濾器鏈。
- 過(guò)濾器管理:使開發(fā)新過(guò)濾器變得容易。
- 服務(wù)網(wǎng)格
- Mesh Master:是管理網(wǎng)格服務(wù)生命周期的控制平面。
- Mesh Sidecar:以數(shù)據(jù)平面為端點(diǎn),做流量攔截和路由。
- Mesh Ingress Controller:是特定于網(wǎng)格的入口控制器,用于將外部流量路由到網(wǎng)格服務(wù)。
注意:此功能由EaseMesh利用
- 第三方集成
- FaaS與無(wú)服務(wù)器平臺(tái) Knative 集成。
- 服務(wù)發(fā)現(xiàn)與 Eureka、Consul、Etcd 和 Zookeeper 集成。
- 入口控制器作為入口控制器與 Kubernetes 集成。
- 多種協(xié)議:
- 可擴(kuò)展性
- WebAssembly執(zhí)行用戶開發(fā)的WebAssembly代碼。
- 高性能和可用性
- 適應(yīng):在處理鏈中適應(yīng)請(qǐng)求、響應(yīng)。
- 驗(yàn)證:標(biāo)頭驗(yàn)證、OAuth2、JWT 和 HMAC 驗(yàn)證。
- 負(fù)載均衡:循環(huán)、隨機(jī)、加權(quán)隨機(jī)、ip 哈希、頭部哈希。
- 緩存:用于后端服務(wù)器。
- 壓縮:壓縮響應(yīng)體。
- 熱更新:在不丟失連接的情況下更新 Easegress 的配置和二進(jìn)制文件。
- Operation
- 易于集成:命令行(
egctl)、MegaEase Portal、HTTP 客戶端如 curl、postman 等。 - 分布式追蹤
- 內(nèi)置開放式 Zipkin
- 供應(yīng)商中立 API 的開放跟蹤
- 可觀察性
- 節(jié)點(diǎn):角色(leader、writer、reader)、健康與否、上次心跳時(shí)間等
- 流量:多維度:服務(wù)器和后端。
- 吞吐量:請(qǐng)求計(jì)數(shù)、TPS/m1、m5、m15、錯(cuò)誤百分比等的總數(shù)和錯(cuò)誤統(tǒng)計(jì)。
- 延遲: p25、p50、p75、p95、98、p99、p999。
- 數(shù)據(jù)大小:請(qǐng)求和響應(yīng)大小。
- 狀態(tài)代碼: HTTP 狀態(tài)代碼。
- TopN:按聚合API排序(僅在服務(wù)器維度)。
- 易于集成:命令行(
評(píng)論
圖片
表情
