LINKERD:用于微服务的TWITTER风格可操作性
您如何大规模运维现代云原生应用程序?在实践中出现什么问题,而他们是如何被处理? 在大容量和不可预测的工作负载下,运行基于云原生和微服务的应用程序实际需要什么,而不会对功能版本或产品更改引入摩擦?
对于所有关于微服务的讨论,事实证明,很少有人能够真正回答这些问题。令人兴奋的新技术如Docker,Mesos,Kubernetes和gRPC的迅速崛起,使得我们所有的扶手椅建筑师变得轻松。但真的是高流量,生产用途?据推算,实际解决了微服务器规模化问题的公司数量非常少。
译者注: 扶手椅建筑师,详细解释见 http://wiki.c2.com/?ArmchairArchitect
当 Oliver 和我在不是很久的时候离开Twitter,我们的目标是吸取这些年的运维知识,并把它们变成世界其他地方可以使用的东西。令人高兴的是,大量的知识已经在一个名为 的开源项目中编码,Finagle是高效的RPC库,为Twitter的微服务架构提供支持。
Finagle是Twitter的核心库,用于管理服务之间的沟通。实际上,Twitter上的每一个在线服务都建立在Finagle的基础之上,每秒可以为数百万的RPC调用服务。并且并非只有Twitter - Finagle也支持了Pinterest,SoundCloud, Strava,StumbleUpon等众多公司的基础设施。
今天,我们很高兴地宣布我们在将Finagle用于群众的愿景中迈出一小步。linkerd 已经达到了 0.1.0,而我们在Apache License v2下开源了它。
如果你正在构建一个微服务并希望从Finagle的好处中受益,包括 智能自适应负载均衡,在 和 内部服务流量路由 - 你可以使用linkerd来添加这些功能,而无需改变你的应用代码. 另外,华丽的仪表板!
linkerd尚未完成,但本着“早日发布和经常发布”的精神,我们认为现在是让这个孩子出来玩的时候了。
因此,如果这引起了你的兴趣,那么请从 linksd.io 开始进行文档和下载。如果您有兴趣参与,请直接访问 。我们是开放源码的坚强信徒 - 从几乎一开始,Finagle本身就是开源的,而我们很高兴为此建立一个社区。
- William, , 和 Buoyant的整个团队。
(如果您想知道名称:我们喜欢将linkerd视为云原生应用程序的“dynamic linker/动态链接器”,就像操作系统中的动态链接器一行,通过库和函数的名称,并做调用函数必须的工作,因此,linkerd也可以使用服务和端点的名称,并且进行必要的工作使调用安全,而可靠地进行。有关该模型的更多信息,请参阅 。)