44

Buoyant的Conduit服务网格正式成为Linkerd 2

 6 years ago
source link: http://www.infoq.com/cn/news/2018/08/conduit-merges-linkerd2?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Conduit是的一个相对较新的轻量级、基于社区的服务网格(service mesh),它来自Buoyant,现在该项目已经合并到了Linkerd项目之中,并且发布了Linkerd 2(Beta)。7月17日,Linkerd发布了推文“ The @runconduit code merge is complete... ”,Conduit随之成为流行的Linkerd服务网格的下一代版本。除了常规的Linkerd 1版本发布,Linkerd 2(beta)构件也已经生成。Linkerd 2代码是完全开源的,可以在他们的 GitHub仓库 上获取。Conduit 0.5.0是Conduit项目最后一个正式发布版本。

Linkerd是由Buoyant的联合创始人William Morgan和Oliver Gould在2015年创建的。Linkerd构建在 Finagle (Twitter开发的用于JVM的可扩展RPC系统)之上,它能够用来构建语言中立的、多语种的微服务应用程序,该项目的设计适用于高并发的场景,比如像Expedia、Monzo、Salesforce和PayPal这样的地方。

Linkerd是所谓的“ service mesh(服务网格) ”领域的几个流行工具之一(其他的还包括Istio、  EnvoyCilium 和Consul Connect)。服务网格是一个专门的基础设施层,用来处理服务到服务之间的通信。服务网格用来解决微服务运维方面的一些复杂性,它围绕可观测性、重试/超时、服务发现以及动态代理等方面的最佳实践进行了封装,上述所提及的这些关注点通常会妨碍微服务的部署。

Conduit最初也是Buoyant开发的一个独立项目,它的数据面板(data plane)是使用Rust编写的,而控制面板(control plane)则是采用Go编写的,它是作为一个轻量级的服务网格替代方案在去年引入的。它设计为使用Kubernetes部署的低资源消耗的sidecar,Conduit采用一种带有倾向性的方式来实现服务网格,其目标是减少配置和大幅度降低资源的开销。它带来的结果就是在资源开销、性能和部署便利性方面都有了明显改善。

Gould目前是Buoyant的CTO,同时还是Linkerd 1和2的核心贡献者,他回答了创建Conduit的原因。

Conduit快如闪电般的Rust代理每个实例只有大约10MB,具有毫秒级别的p99延迟,并且支持HTTP/1.x、HTTP/2和gRPC。Conduit在任何Kubernetes集群上都能秒级瞬间安装,并且能够根据你感兴趣的服务情况进行增量扩展。

当被问到原始意图是否就是要将Conduit一起并入Linkerd时,Gould回答到:

当Conduit创建的时候,我们的愿景是构建出一个极其简单的方案,来解决我们花费数年的时间帮助Linkerd用户所克服的问题:云原生应用的监控、可靠性以及安全性。另外,我们非常确信Linkerd只需很少的系统资源就能实现这一点。但是,这是一个冒险的行为,很多的Linkerd产品用户在我们确信它成功之前并不认为将其称为“Linkerd”是合适的选择。

在分别运维了两个项目仅仅七个月之后,Gould和他的团队觉得Conduit“配得上Linkerd这个名字”,在6月27日,Morgan新建了一个 issue将这个项目合二为一 (在Linkerd维护者的邮件列表中进行了讨论)。在代码合并完成之后,Linkerd的推文宣布了该目标已达成。

对已有的Linkerd 1用户来说这意味着什么呢?Gould说这两个项目都会持续开发。

Linkerd 1.x将会与Linkerd 2.x并行开发。我们正在与社区协作制定一个迁移路线图,该路线图将会给出这个过程中的每个步骤。

既然这两个项目已经合并了,那么未来的路线图是怎样的呢?Gould说他们正在致力于为服务的所有者提供非常棒的调试体验。“除了Linkerd 2中已构建的指标和工具,我们正在添加强大的CLI和GUI工具,帮助精确定位特定服务的问题。”Linkerd用户将能快速掌握是什么原因导致了问题的产生、这是不是延迟的问题、特定的端点是否返回了非法的响应或者含有不可靠的依赖。

八月份, Linkerd将会发布另一个版本

查看英文原文: Buoyant's Conduit Service Mesh Officially Becomes Linkerd 2


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK