您的位置 首页 > 德语词汇

grid service是什么意思、读音(什么是 Service Mesh ?)

很多朋友对于grid service是什么意思、读音和什么是 Service Mesh ?不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

2016年1月,离开Twitter的基础设施工程师WilliamMorgan和OliverGould,在github上发布了Linkerd0.0.7版本,他们同时组建了一个创业小公司Buoyant,业界第一个ServiceMesh项目就此诞生。

grid service是什么意思、读音(什么是 Service Mesh ?)

在2016年初,ServiceMesh还只是Buoyant公司的内部词汇,而之后,随着Linkerd的开发和推广,ServiceMesh这个名词开始逐步走向社区并被广泛接受、喜爱和推崇:

至此,从2016到2018,在两年左右的时间内,ServiceMesh这个名词实现了从无到有,再到被社区广泛接受乃至炙手可热的过程。

中文名的小插曲

2017年初,随着Linkerd的传入,ServiceMesh进入国内技术社区的视野。早期翻译不统一,有人取字面意义翻译为”服务网格”,有人觉得和”ServiceGrid”无法区分所以翻译为”服务啮合层”,有些混乱。

个人觉得”服务啮合层”这个词过于拗口,而根据过往IT届的各种惨痛经历我得出的结论是:一个太生僻的名字会毁了一个大有前途的技术。考虑到”服务网格”简单易懂,朗朗上口,符合英文原语”ServiceMesh”,容易被理解和记忆。最重要的,网格一词生动的体现了这个技术的内涵,如下图所示(摘自PhilCal?ado的经典文章Pattern:ServiceMesh):

因此,我大力倡导并坚持使用”服务网格”,也得到了很多ServiceMesh技术爱好者的认可和赞同。随着ServiceMesh中国技术社区的组建和发展,”ServiceMesh”一词在社区的推广下,基本统一翻译为”服务网格”,包括各种技术媒体。

有关这个话题,可以浏览InfoQ的这个帖子的留言部分:

http://www.infoq.com/cn/news/2017/05/istio

比较有代表性的是,InfoQ这个文章最初发布的时候名字叫做”Istio:用于微服务的服务啮合层”,被大量转载,大家google或者百度可以找到各种历史记录。后来社区统一为”服务网格”之后,InfoQ与时俱进的修改了标题(非常有担当的技术媒体,赞一个!)。

ServiceMesh的定义

ServiceMesh的定义最早是由出品Linkerd的Buoyant公司CEOWilliam在他的经典博客文章What’saservicemesh?AndwhydoIneedone?给出来的。Linkerd是业界第一个ServiceMesh项目,而Buoyant则创造了ServiceMesh这个词汇的。作为ServiceMesh全球第一个布道师,William给出的这个定义是非常官方和权威的:

Aservicemeshisadedicatedinfrastructurelayerforhandlingservice-to-servicecommunication.It’sresponsibleforthereliabledeliveryofrequeststhroughthecomplextopologyofservicesthatcompriseamodern,cloudnativeapplication.Inpractice,theservicemeshistypicallyimplementedasanarrayoflightweightnetworkproxiesthataredeployedalongsideapplicationcode,withouttheapplicationneedingtobeaware.

服务网格是一个基础设施层,用于处理服务间通讯。现代云原生应用有着复杂的服务拓扑,服务网格负责在这些拓扑中实现请求的可靠传递。在实践中,服务网格通常实现为一组轻量级网络代理,它们与应用程序部署在一起,而对应用程序透明。

我们来深入ServiceMesh具体的部署模型和工作方式,以便更好的理解ServiceMesh的含义。

ServiceMesh详解

这是单个服务调用下的ServiceMesh部署模型,当发起一个请求时,作为请求发起者的客户端应用实例,会首先用简单方式将请求发送到本地的ServiceMesh代理实例。注意此时应用实例和代理是两个独立的进程,他们之间是远程调用,而不是代码层面的方法调用。

然后,ServiceMesh的代理会完成完整的服务间通讯的调用流程,如服务发现、负载均衡等基本功能,熔断、限流、重试等容错功能,各种高级路由功,安全方面的认证、授权、鉴权和加密等,最后将请求发送给目标服务。最终表现为Sidecar模式,实现和传统类库类似甚至更完备的功能。

Sidecar这个词中文翻译为”边车”,或者”车斗”。Sidecar模式则早在ServiceMesh出现前就在软件开发领域使用,它的灵感来源于实物,通过在原有的两轮摩托的一侧增加一个边车来实现对现有功能的扩展:

ServiceMesh通过在请求调用的路径中增加Sidecar,将原本由客户端(通常通过类库)完成的复杂功能,下沉到Sidecar中,实现对客户端的简化和服务间通讯控制权的转移。

当多个服务依次调用时,ServiceMesh表现为一个单独的通讯层。在服务实例之下,ServiceMesh接管整个网络,负责所有服务间的请求转发,从而实现让服务只需简单发送请求和处理请求的业务处理,不再负责传递请求的具体逻辑。中间服务间通讯的环节被剥离出来,呈现出一个抽象层,被称为服务间通讯专用基础设施层。

当系统中存在大量服务时,服务间的调用关系,就会表现为网状。如图所示,左边绿色的是应用程序,右边蓝色的是ServiceMesh的Sidecar,蓝色之间的线条是表示服务之间的调用。可以看到Sidecar之间的服务调用关系形成一个网络,这也就是ServiceMesh/服务网格名字的由来。

此时ServiceMesh体现出来的依然是一个通讯层,只是这个通讯层内部更加复杂,不是简单的顺序调用关系,而是彼此相互调用,形成网状。

ServiceMesh定义回顾

服务网格是一个基础设施层,用于处理服务间通讯。现代云原生应用有着复杂的服务拓扑,服务网格负责在这些拓扑中实现请求的可靠传递。在实践中,服务网格通常实现为一组轻量级网络代理,它们与应用程序部署在一起,而对应用程序透明。

再来详细理解什么是ServiceMesh:

需要注意的是,上面的图中,如果把左边的应用程序去掉,只呈现出来Sidecar和它们之间的调用关系,这个时候ServiceMesh的概念就会特别清晰:Sidecar和调用关系形成完整的网络,代表服务间复杂的调用关系,承载着系统内的所有应用。

这是ServiceMesh定义中非常重要的一点,和传统的Sidecar模式不同的地方:ServiceMesh不再将代理视为单独的组件,而是强调由这些代理连接而形成的网络。ServiceMesh非常强调服务间通讯网络的整体,而不是简单的以个体的方式单独看待每个代理。

关于grid service是什么意思、读音和什么是 Service Mesh ?的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023