服務網格框架Linkerd背后的公司Buoyant發布用于Kubernetes的新型服務網格“Conduit”。Conduit的數據面板使用Rust開發,而控制面板則使用Go語言開發。Conduit并不是Linkerd 2.0,它主要面向Kubernetes,適用的場景不同。Buoyant說,他們會繼續開發、維護和為Linkerd提供商業支持。
在過去一年,人們對服務網格的興趣程度出現了戲劇性的增長,Linkerd和Envoy走向開源,Lyft、谷歌和IBM聯合發布了Istio。開發大會也開始熱烈討論服務網格,包括最近舉行的CNCF CloudNativeCon。很多互聯網巨頭和獨角獸公司使用了服務網格技術,比如Lyft的Envoy、Twitter的Finagle、谷歌的Stubby和Global Software Load Balancer(GSLB)。Buoyant說,Linkerd是“世界上部署率最多的服務網格”,Salesforce、Paypal、Expedia、AOL和Monzo都在使用它。
Linkerd是Buoyant團隊在使用Twitter的Finagle RPC框架時開發出來的。Buoyant在“Conduit簡介”這篇博文中提到,從過去18個月與使用了Linkerd的企業的合作中了解到,Linkerd的JVM資源占用率太高。
Linkerd的構建塊Finagle、Netty、Scala和JVM讓它能夠支撐非常高的工作負載,只要給它提供足夠的CPU和內存。不過,在資源有限的環境中就發揮不了太大作用。在將Linkerd作為“邊車”代理與應用程序運行在一起時,就會出現問題,而通常Kubernetes都使用了這種部署模式。
Conduit是Buoyant的“下一代”服務網格,其代理數據面板使用Rust開發,“簡潔而強大”的控制面板則使用Go語言開發。Buoyant說,性能是Conduit首要的考慮因素之一,單個Conduit代理的延遲是亞毫秒級的,而且實際使用的物理內存不到10M。另外,它還默認實現了網絡通信的TLS,并使用了Rust的內存安全保證機制。
我們會繼續開發、維護和提供Linkerd的商業支持,我們承若Linkerd的用戶將繼續保持目前這種愉快的使用體驗。博文還說,Conduit不是Linkerd 2.0,它面向的是Kubernetes這樣的特定環境,并沒有解決與其他平臺的集成問題,如AWS、ECS或Mesos。
更多關于Conduit的信息可以在項目官網和GitHub倉庫上找到。Conduit的GitHub README文件清楚地寫明,項目還處于實驗階段,只支持HTTP/2(可與gRPC兼容)。
查看英文原文:Buoyant Releases New Kubernetes Service Mesh "Conduit" Written in Rust and Golang