由以下創建
由以下使用
為什麼選擇 Envoy?
正如微服務實踐者們很快意識到的,在轉向分散式架構時出現的大多數操作問題,最終都源於兩個領域:網路和可觀察性。網路和除錯一組相互交織的分散式服務,相較於單一的單體應用程式,其問題複雜度簡直是數量級的差異。
Envoy 最初在 Lyft 構建,是一個高效能的 C++ 分散式代理,專為單一服務和應用程式,以及為大型微服務「服務網格」架構設計的通訊總線和「通用數據平面」。Envoy 基於 NGINX、HAProxy、硬體負載平衡器和雲端負載平衡器等解決方案的經驗,與每個應用程式並排運行,並以與平台無關的方式提供通用功能,抽象化網路。當基礎架構中的所有服務流量都透過 Envoy 網格流動時,透過一致的可觀察性來視覺化問題區域、調整整體效能以及在單一位置新增基礎功能,將變得非常容易。
功能
進程外架構
Envoy 是一個自我包含、高效能且記憶體佔用小的伺服器。它可以與任何應用程式語言或框架並排運行。
HTTP/2 和 gRPC 支援
Envoy 對於傳入和傳出的連線都有一流的 HTTP/2 和 gRPC 支援。它是一個透明的 HTTP/1.1 到 HTTP/2 代理。
進階負載平衡
Envoy 支援進階負載平衡功能,包括自動重試、斷路器、全域速率限制、請求陰影、區域本地負載平衡等。
用於組態管理的 API
Envoy 提供強大的 API 來動態管理其組態。
可觀察性
L7 流量的深度可觀察性、對分散式追蹤的原生支援,以及對 MongoDB、DynamoDB 等的線路級可觀察性。
「自從我們開始部署 Envoy 以來,我們在 Lyft 的彈性和可觀察性方面取得了巨大的進展。我們很高興能將 Envoy 開源,而圍繞 Envoy 不斷成長的社群將幫助 Lyft 和其他採用微服務架構的人。」
Peter Morelli Lyft 工程副總裁
我們是 雲原生計算基金會 的畢業專案。