linkerd——针对java的为微服务提供可靠性的proxy,服务发现重试LB等
来源:互联网 发布:来源笔记软件 编辑:程序博客网 时间:2024/05/18 00:40
Buoyant是一家云服务公司,宣布了Linkerd(发音为“linker-DEE”)的一周年纪念日,这是一个基于微服务的原生云应用程序的开源“服务网格”项目。诚如公告所述:
在20世纪90年代,TCP/IP协议之类网络通信的转变,使得全行业从主机转移到客户机/服务器结构,Linkerd作为下一代云应用的基础网络层,受到越来越多的采用,使得企业能够在不牺牲可靠性的情况下将其计算架构从单片应用转移到了微服务。
Linkerd通过自动化负载均衡、服务发现和运行时恢复能力为微服务提供可靠性。
Linkerd于2016年2月发布0.1.0版本,由前Twitter工程师William Morgan,现任Buoyant首席执行官和 Oliver Gould(Buoyant现任首席技术官)创建。Linkerd建立在 Finagle之上 ,是“一个与协议无关的、用于JVM的异步RPC系统,这使它可以简单地在Java、Scala或者任何JVM托管语言中构建强大的客户端和服务器”,部署在Twitter的生产环境中。
下图演示了Linkerd如何被部署成应用程序实例的服务网格:
Buoyant最近发布了Linkerd的0.9.0版本。此为新版本特点:
- 改进管理仪表板
- 改进对 Prometheus指标的支持
- 简化路由器名称
InfoQ独家专访Bouyant的创始人兼首席执行官William Morgan,并谈及了这个里程碑。
InfoQ: Linkerd是什么,为什么微服务和云本地应用程序在通信层需要新的“服务网格”?
Morgan: Linkerd是一个“服务网格”,它是专用于处理时间敏感的服务到服务的通信基础设施层。与传统网格物料相反,服务网格进行请求级别操作。所以我们不谈论数据包或者是字节,我们考虑的是请求导致响应的结果。服务Foo将与服务Bar交流,并且等待它做出响应,当它做到时,Foo将会处理结果,然后将自己的结果中继给它的调用者。如果Bar不及时回应,那么Foo也不得不做出一些反馈。
当然这种请求-响应模式自从网络编程开始便一直存在,但正在改变的是,对于微服务,使用原生云应用程序,每次对应用程序进行调用,这种通信将在应用程序内发生了几十或者几百次。因此,如果有成千上百个的服务,而且每个服务运行数百个实例,并且每秒有数百个请求,那么你最终会遇到一个非常复杂的请求流通过应用程序。而且这个实例可能正在死亡,或者正变得越来越超负荷,又或者被重新安排了所有的时间….总之它变得十分复杂。
服务网格的目标是解耦这个模型的操作复杂性,将其移动到应用程序之外,使应用程序保持纯净。因此程序代码只需要说:“嘿,我是服务Foo,我需要发送请求到服务Bar。”而操作的东西,比如重试、超时、截止日期、负载均衡和服务发现,他们不仅极其难以找到合适的,但关键是找到了合适的之后,应用程序也不会停留太长时间,当然,如果他们不正确,应单独处理。它们是在单独的一层,在那里,他们可以独立于应用程序运行进行管理。
Linkerd以它目前的形式,是一个用户空间代理,因为这是人们最容易使用的。这就像注入了类固醇的HAProxy。但是根本上服务网格概念远远超过了代理模型。
- linkerd——针对java的为微服务提供可靠性的proxy,服务发现重试LB等
- Marahon-lb的服务发现/负载均衡
- Marahon-lb的服务发现/负载均衡
- Spring Cloud微服务架构—服务注册与发现
- 微服务中的服务发现
- 微服务~Eureka实现的服务注册与发现及服务之间的调用
- [java]微服务架构连载No3 Ribbon+Retry服务实现负载均衡和服务请求重试
- TCP提供可靠性的方法
- 可靠性99.999%互联网微服务的架构设计
- TCP服务的可靠性
- 服务的可靠性设计
- 服务发现的可行方案以及实践案例 & 微服务架构的优势与不足
- 《spring cloud微服务实战》读书笔记——Spring Cloud Eureka(四)服务的发现和消费
- springcloud微服务三:Eureka服务治理之注册服务提供者及服务的发现和消费
- 微服务之服务发现的可行方案以及实践案例(四)
- 微服务采用服务发现机制,不用负载均衡的原因
- Kubernetes的service mesh——第二部分:以DaemonSet方式运行linkerd
- 公安部门针对互联网上网、提供上网服务的一些要求
- TestNG入门教程-4-Testng中注释简介
- Python设计模式--策略模式
- pygame中绘制弧线的方法
- BZOJ1293 [SCOI2009]生日礼物
- 堆破坏(Heap Corruption)和Gflags
- linkerd——针对java的为微服务提供可靠性的proxy,服务发现重试LB等
- VS2015卸载经过
- 第一篇博客,选择最真实的自己
- bzoj 2081 [Poi2010]Beads 枚举+哈希
- NBiot系统开发,测试
- [luogu2184]贪婪大陆(树状数组)
- Bigger插件v2.0.1官方版下载附安装方法
- 一站式解决java web乱码问题
- PAT1002 写出这个数 初学者