网易云原生架构转型之路

8a09770efc528df87fc4ccd6273f8f61.png

什么是 Service Mesh?一言以蔽之:Service Mesh 是微服务时代的 TCP/IP 协议。

为了理清这些繁复的产品和概念,我们先来了解下微服务和Service Mesh技术的历史发展脉络。

时代0:开发人员想象中,不同服务间通信的方式,抽象表示如下:

33121802cda1a75ee232797ab6fe56d2.png

时代1:原始通信时代

然而现实远比想象的复杂,在实际情况中,通信需要底层能够传输字节码和电子信号的物理层来完成,在TCP协议出现之前,服务需要自己处理网络通信所面临的丢包、乱序、重试等一系列流控问题,因此服务实现中,除了业务逻辑外,还夹杂着对网络传输问题的处理逻辑。

7aaafd31fcc2e0048c3fa91ea4b6f160.png

时代2:TCP时代

为了避免每个服务都需要自己实现一套相似的网络传输处理逻辑,TCP协议出现了,它解决了网络传输中通用的流量控制问题,将技术栈下移,从服务的实现中抽离出来,成为操作系统网络层的一部分。

02804d94aad4c590a38bdfa526f6f55d.png

时代3:第一代微服务

在TCP出现之后,机器之间的网络通信不再是一个难题,以GFS /BigTable /MapReduce为代表的分布式系统得以蓬勃发展。这时,分布式系统特有的通信语义又出现了,如熔断策略、负载均衡、服务发现、认证和授权、quota限制、trace和监控等等,于是服务根据业务需求来实现一部分所需的通信语义。

1e3902cf2c60fa02923ecd7d1794d2e0.png

时代4:第二代微服务

为了避免每个服务都需要自己实现一套分布式系统通信的语义功能,随着技术的发展,一些面向微服务架构的开发框架出现了,如Twitter的Finagle、Facebook的Proxygen以及Spring Cloud等等,这些框架实现了分布式系统通信需要的各种通用语义功能:如负载均衡和服务发现等,因此一定程度上屏蔽了这些通信细节,使得开发人员使用较少的框架代码就能开发出健壮的分布式系统。

422f84c29e9c42f0fc2bc5c1885a2dd5.png

时代5:第一代Service Mesh

第二代微服务模式看似完美,但开发人员很快又发现,它也存在一些本质问题:

  • 其一,虽然框架本身屏蔽了分布式系统通信的一些通用功能实现细节,但开发者却要花更多精力去掌握和管理复杂的框架本身,在实际应用中,去追踪和解决框架出现的问题也绝非易事;

  • 其二,开发框架通常只支持一种或几种特定的语言,回过头来看文章最开始对微服务的定义,一个重要的特性就是语言无关,但那些没有框架支持的语言编写的服务,很难融入面向微服务的架构体系,想因地制宜的用多种语言实现架构体系中的不同模块也很难做到;

  • 其三,框架以lib库的形式和服务联编,复杂项目依赖时的库版本兼容问题非常棘手,同时,框架库的升级也无法对服务透明,服务会因为和业务无关的lib库升级而被迫升级;

因此以Linkerd,Envoy,NginxMesh为代表的代理模式(边车模式)应运而生,这就是第一代Service Mesh,它将分布式服务的通信抽象为单独一层,在这一层中实现负载均衡、服务发现、认证授权、监控追踪、流量控制等分布式系统所需要的功能,作为一个和服务对等的代理服务,和服务部署在一起,接管服务的流量,通过代理之间的通信间接完成服务之间的通信请求,这样上边所说的三个问题也迎刃而解。

790f0ed74a5d57a528b2f1e4d95bdd27.png

如果我们从一个全局视角来看,就会得到如下部署图:

3b561df0420b692c3d3587301cefcd7c.png

如果我们暂时略去服务,只看Service Mesh的单机组件组成的网络:

8508f7187a48361c3b3ae8c06e9e6659.png

相信现在,大家已经理解何所谓Service Mesh,也就是服务网格了。它看起来确实就像是一个由若干服务代理所组成的错综复杂的网格。

时代6:第二代Service Mesh

第一代Service Mesh由一系列独立运行的单机代理服务构成,为了提供统一的上层运维入口,演化出了集中式的控制面板,所有的单机代理组件通过和控制面板交互进行网络拓扑策略的更新和单机数据的汇报。这就是以Istio为代表的第二代Service Mesh。

05f8a84d0a2dd32aad7470dbfac6d661.png

只看单机代理组件(数据面板)和控制面板的Service Mesh全局部署视图如下:

2ac65412e38df5d16af0057b3c07f593.png

至此,见证了6个时代的变迁,大家一定清楚了Service Mesh技术到底是什么,以及是如何一步步演化到今天这样一个形态。

Service Mesh在各个企业应用广泛,以下分享网易云原生架构转型之路。

下载链接:网易云原生架构转型之路

8bfc7db1ca60bafe1672ca6821f4eda6.png

88153b53378e2e3a3cbd72dc365a2c33.png

b7cd7559332f737943aeff61006a2dc3.png

d0b844b7e836ccb48e2ed615ae7e7680.png

0abdfe611c81089ea12145cfdf1955f2.png

918507c932a3014404526c2cb03a7f0d.png

e34f6a9f7964dea1b9a9fe2cf86983f8.png

4bf2fe99dfce0548dc6d57ef1a684500.png

cca7322cbd4c4257e88495670e01fe3e.png

a887035b8365e371002a1516d3a70aee.png

85c3e636c0e52ce40f749d1a999221de.png

771d0a0cf7916851c4aec73d9b5caea8.png

db5108dd015ffb15e4a3142d05bfa29d.png

9c8f405cbe10f61fa108c50a877a8b3c.png

b8575f96898fb9d2464c1fd1f6f6a021.png

650dee1ca9e470c2b5a92f4955cff655.png

acaeb61964e7adb9586698bdf37072b9.png

5c7be9bc425024b8fba7a76b832a6dc5.png

1a6cfb9a3c37fc26b0f199d17ce31595.png

7c4a5ae29701bced064bc472ec135866.png

4a483e22d1dff2088c5a47ea0e36d601.png

a5e980a3de36c63c76d6304d2f1f950c.png

a43fd134e803326a38cf5f758081610a.png

e9b42b85607329995981658de1167f46.png

9ea4c4afe26bacaefdc9415f3ba7e29f.png

6b424e74fcf442debf2dd8dce536dfb8.png

c7fffbc3af15a33064014e34b5b6f741.png

推荐阅读:

世界的真实格局分析,地球人类社会底层运行原理

不是你需要中台,而是一名合格的架构师(附各大厂中台建设PPT)

企业IT技术架构规划方案

论数字化转型——转什么,如何转?

华为干部与人才发展手册(附PPT)

企业10大管理流程图,数字化转型从业者必备!

【中台实践】华为大数据中台架构分享.pdf

华为的数字化转型方法论

华为如何实施数字化转型(附PPT)

超详细280页Docker实战文档!开放下载

华为大数据解决方案(PPT)

cf99fc85a5b12f9e6d02a43d325184bc.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值