-
Reddit早期的服務通訊方式
-
我們選擇Envoy的原因
-
在我們基礎架構限制因素下,我們如何應用和管理Envoy的部署
-
效能:避免增加效能瓶頸,任何在代理層的效能損失都需要透過相當大的功能增益來彌補。我們主要是考慮的是資源利用率以及網路延遲。我們網格化方案是在每臺機器上以sidecar方式執行代理,所以我們需要的方案是能夠在每臺機器以及網路的每一跳上執行。
-
功能:所有方案選項中最大的區分點就是代理是否支援L7層的Thrift協議。Thrift是我們服務內部使用的主要RPC協議,如果在service mesh中不支援這種行為控制,那和我們現在使用HAProxy進行基本的TCP負載均衡差別不大。我們將在下一小節討論這一點。
-
整合和擴充套件性:還有個核心要求是實用的工具能夠進行奉獻或與請求整合,並且能夠擴充套件開箱即用的功能。網路代理需要能夠隨著Reddit的服務需求和開發人員的功能請求而演變。
-
https://github.com/reddit/baseplate
-
https://baseplate.readthedocs.io/en/stable/cli/healthcheck.html
-
https://github.com/airbnb/synapse/tree/master/lib/synapse/config_generator
-
https://blog.envoyproxy.io/envoy-hot-restart-1d16b14555b5
朋友會在“發現-看一看”看到你“在看”的內容