一文了解“Service Mesh(服务网格)”的历史与现在

网友投稿 313 2022-10-14

一文了解“Service Mesh(服务网格)”的历史与现在

服务网格是如何形成的?那么服务网格从何而来?做了一些软件考古之后,我们发现服务网格提供的核心功能——请求级负载均衡、断路、重试、仪器等——基本上并不是新功能。其实,服务网格最终是功能的重新包装,真正发生转变的是“地方”,而不是“什么”。 服务网格的起源始于大约2010年三层应用程序架构模型的兴起——这是一种简单的架构,一度为网络上的绝大多数应用程序提供动力。在这个模型中,请求流量发挥着重要作用(有两个跃点!)。应用程序流量首先由“Web层”处理,“web层”又与“app层”对话,后者又与“数据库层”对话。Web层中的Web服务器旨在处理大量传入请求,需要非常迅速地将它们小心地交给相对较慢的应用服务器。(Apache、NGINX和其他流行的Web服务器都有非常复杂的逻辑来处理这种情况。)同样,应用层使用数据库库与后备存储进行通信。这些库通常负责以针对此用例优化的方式处理缓存、负载均衡、路由、流控制。 但是,这种三层应用程序架构模型,在过载的情况下会开始崩溃——特别是在app层,随着时间的推移它的负载会变得非常大。像谷歌、Facebook、Netflix、Twitter这样的大公司学会了将单体架构拆分成许多独立运行的块,从而催生了微服务的兴起。在引入微服务的那一刻,还引入了东西向流量。在这个世界上,通信不再是专一的,而是在每一项服务之间。通信若出错,整个网站都会出现故障。 因此,这些公司都以类似的方式做出了回应:他们编写了“胖客户端”库来处理请求流量。这些库——例如谷歌的Stubby、Netflix的Hysterix、Twitter的Finagle——为所有服务提供了统一的运行时操作方式。开发人员或服务所有者使用这些库向其他服务发出请求,而在这个框架下,这些库将负责负载均衡、路由、断路、遥测。通过在应用程序中的每个服务之间提供统一的行为、可见性和控制点,这些库形成了表面上最初的服务网格——没有花哨的名称。Proxy的兴起快进到现代的云原生世界。当然,这些库仍然存在。但是,鉴于进程外代理提供的操作便利性,库的吸引力显著降低了——尤其是当容器和编排框架的出现使得部署复杂性大幅下降时。 代理避免了库的许多缺点。例如,当一个库发生变化时,必须在每个服务中部署这些变化,这个过程往往需要复杂的组织层面的协调工作。相比之下,代理可以在不重新编译和重新部署每个应用程序的情况下进行升级。同样,代理支持多语言系统,在多语言系统中由服务组成的应用程序是用不同语言编写的——而这种方法对于库而言过于昂贵。 也许最重要的是,对于大型组织而言,在代理而不是库中实现服务网络,会将提供必要功能的责任,从服务所有者手上,转移到最终使用该服务的终端用户(即平台工程团队)手上。服务提供者和使用者的这种一致性,将会让这些团队把握自己的命运,消除开发和运维之间复杂的依赖关系。 这些因素都有助于服务网格的兴起。通过部署代理的分布式“网格”(它可以作为底层基础架构的一部分而不是应用程序本身来进行维护),并通过提供集中式API来分析和操作此流量,服务网格为跨越整个组织的运行时操作提供了标准化机制,包括确保可靠性、安全性和可见性的方法。企业级服务网格应用Service Mesh极大地简化了用户体验,并将大中型企业的Kubernetes落地引领进下一个全新阶段,被业界普遍认为是新一代的微服务架构的最佳技术设计。日前,国内外企业及技术领域对Service Mesh技术的应用和探索开展的如火如荼,对大多数使用容器的企业而言,Service Mesh仿佛是容器部署中亟待补齐的最后一块拼图。由CNCF举办的KubeCon + CloudNativeCon,作为世界范围的Kubernetes与容器技术领域的顶级技术盛会,将于今年11月14日-15日登陆上海,这是KubeCon首次来华举办。Rancher Labs携手华为,将于11月13日和CNCF联合举办KubeCon同场会议,同中国区众多企业客户一起,推出2018云原生服务网格(Istio)企业峰会。届时,来自华为、上汽集团、Rancher Labs、云宏、兴业银行、飞贷金融、金风科技、树维信息等著名企业的科技负责人和微服务架构师,将分享各自在新一代微服务架构建设和Service Mesh应用方面的经验和心得。日期:11月13日,星期二时间:上午9:00至下午6:00地点:上海新发展亚太JW万豪酒店,长风大宴会厅报名:http://t.cn/RFG85AW诚邀您届时莅临峰会,共话容器、微服务、Kubernetes等新技术的落地应用。英文原文链接:https://thenewstack.io/history-service-mesh/

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:七牛云冯立元:边缘存储的演进之路
下一篇:Java案例分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~