服務網格的存在意義 -kelseyhightower

banq發表於2020-08-07

雖然您可以編寫具有服務發現整合,TLS證照管理和生成Envoy配置的功能的xds控制平面,但是我不確定這是您最好的時間使用方式。如果您需要所有這些,那麼只有在那時,您才能真正瞭解“服務網格”的存在意義。

如果您發現服務網格的東西都令人困惑,並且您真的想了解它,請從envoyproxy開始:瞭解Envoy的核心功能集以及如何手動配置它。從簡單開始。瞭解如何像nginx一樣將Envoy用作HTTP代理或負載平衡器。

Envoy最好的優點之一是:能夠在伺服器執行時動態配置它。您可以從遠端伺服器同步配置Envoy,而不必手動配置Envoy。

Envoy利用xds協議發現和流式傳輸配置,最好的部分是,它將熱過載配置,而無需重新啟動!

Envoy還支援自定義外掛,指標以及許多您可能會發現有用的功能,例如速率限制和斷路器,它們都可以集中配置,這就是使Envoy脫穎而出的原因。

Envoy在保護HTTP端點方面也設定了標準。Envoy使您可以輕鬆地集中管理TLS證照並輪流使用它們而無需重新啟動。

雖然可以將Envoy用作HTTP代理或負載平衡器,但也可以像應用程式伺服器一樣使用它。考慮一下Apache和PHP。您可以在應用程式的前面執行Envoy並微調該服務的配置。這是服務網格背後的基本思想。

一旦您執行了少數幾個Envoy代理,您將非常欣賞透過中央配置服務對其進行配置的能力。

那麼,為什麼僅使用Envoy時與談論的諸如Istio之類的工具有什麼關係?

有很多方法可以生成TLS證照,並且說實話,Envoy的原始配置有些冗長和令人生畏,而且您猜想它還為抽象留有空間。

整個服務網格還有另一個重要組成部分,那就是服務發現。如果您正在執行Kubernetes,則需要與其服務層整合。您可以使用DNS,但您知道DNS....

除了Kubernetes,您還擁有VM和其他服務發現工具,例如Consul和etcd。這是自定義xds控制平面進入的地方。他們知道如何與不同的服務發現工具整合並生成包含服務端點的Envoy配置。

 

相關文章