Service Mesh 服务网格

CNCF(Cloud Native Computing Foundation,云原生计算基金会)目前主力推动新一代的微服务架构——Service Mesh服务网格。

What’s a service mesh? And why do I need one?中,解释了什么是Service Mesh。

A service mesh is a tool for adding observability、security、and reliability features to applications by inserting these features at the platform layer rather than the application layer.

The service mesh is typically implemented as a scalable set of network proxies deployed alongside application code(a pattern sometimes called sidecar). These proxies handle the communication between the mircoservice and also act a point at which the service mesh features can be introduced. The proxies comprise the service mesh’s data plane,and are controlled as a whole by its control plane.

Service Mesh 这个服务网格专注于处理服务和服务间的通讯。其主要负责构造一个稳定可靠的服务通讯的基础设施,并让整个架构更为先进和Cloud Native。在工程中,Service Mesh是一组轻量级的服务代理,和应用逻辑的服务在一起,并且对于应用服务是透明的。

说白了,就是以下几个特点。

  • Service Mesh是一个基础设施。
  • Service Mesh是一个轻量的服务通讯的代理。
  • Service Mesh对于应用服务来说是透明无侵入的。
  • Service Mesh用于解耦和分离分布式系统架构中控制层面上的东西。

说起来,Service Mesh 就像是网络七层模型中的第四层TCP协议。把底层的那些非常难控制的网络通讯方面的控制面的东西都管了(比如:丢包重试、拥塞控制、流量控制),而更为上面的应用层的协议,只需要关心自己业务应用层上的事了。如HTTP的HTML协议。

Pattern: Service Mesh

自从十几年前首次引入以来,我们了解到分布式系统能够实现我们之前无法想象的用例,但是它也带来了新的问题。

当时这些系统非常少并且架构简单,工程师通过尽可能地减少远程交互来降低复杂度。处理分布式系统最好的方式是避免分布式,尽管这意味着有大量重复的逻辑和数据分布在不同的系统中。

但是,工业需求将架构继续推进,从原先的几个集中式的系统演变为成千上百的微服务。在这个新的领域,我们不得不开始摆脱困境,应对新的挑战并提出问题,从以个案的方式提出临时解决方案(ad-hoc),到使用更复杂的方法。随着我们更多地了解问题领域并设计出更好的解决方案,我们将一些最常见的解决方案归纳为模式,库和平台。

我们最初进行网络通信是发生了什么

从人们首次考虑让两台或更多的计算机互相通信的时候,他们期望是这样的:
在这里插入图片描述
一个服务向另一个服务通信从而实现终端用户(end-user)的需求. 上面的图明显过于简化了,因为省略了很多层(layers),从代码操作的字节层到通过电线发送和接收电信号层都没有。但是这种层次的抽象足以完成我们本次的讨论。稍微细节一些的网络堆栈图如下:

在这里插入图片描述
自20世纪50年代以来,以上模型的变更一直被使用。刚开始的时候,计算机很少见而且很昂贵,因此两个节点间的每一次连接都被精心设计和维护。随着计算机变得越来越便宜和普及,连接数和数据量也猛增。随着人们越来越依赖网络系统,工程师必须确保他们构建的软件符合用户所需的质量。

https://cloud.tencent.com/developer/article/1359884
https://www.servicemesher.com/blog/momo-service-mesh-practice/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值