微服务架构之「 下一代微服务 Service Mesh 」

戳蓝字“CSDN云计算”关注我们哦!

640?wx_fmt=jpeg


作者 | 奎哥

来源 | 不止思考


Service Mesh 被大家称为下一代的微服务,是微服务领域的一颗新星,被大家讨论的非常多。


我在大家的讨论中,还看到有人说 “目前的微服务架构我都没学会呢,现在又来一个下一代微服务,真学不动了”。

哈哈,没办法,互联网技术就是发展得这么快,这些技术其实也都是由于大家所在的公司业务规模和复杂度变大以后所推动出来的。

最开始 Service Mesh 的概念是由Buoyant公司在2016年提出。然后在随后几年,业内就围绕着 Service Mesh 思想探索出了各种实现,其中包括以 Linkerd 为代表的第一代 Service Mesh,随后又有以 Istio 为代表的第二代 Service Mesh。

在国内的一些大厂里,例如 阿里、新浪 等,也都有基于Service Mesh思想的自研实现。既然 Service Mesh 这么火,那它到底是什么呢?又该如何去应用呢?

一、什么是「 Service Mesh 」?

Service Mesh 中文称为 服务网格,为啥,因为它的部署图看起来就像一个网格,如下图:

640?wx_fmt=png

Service Mesh 就是一个基础设施层,它是用于处理微服务中,服务与服务之间通信的一种技术。在 Service Mesh 的实践方案中,它是由一系列轻量级的网络代理组成的,并且这些网络代理会与咱们的应用部署在一起,特别适用于云原生应用,因为 Service Mesh 可以做到应用是无感知的。

(上图的绿色小块可以理解成是咱们微服务的应用,蓝色小块可以理解成 Service Mesh 的轻量级网络代理)

有了 Service Mesh 之后,微服务中,服务与服务之间的通信就是靠这些 网络代理模块 来保障。

那我们为啥需要采用 Service Mesh 呢,Service Mesh 帮我们解决了目前微服务之间调用的啥痛点了吗?

二、为什么需要「 Service Mesh 」?

在传统微服务架构中,随着业务越来越大,拆分的服务实例也越来越多,那么各个服务之间的依赖就变成了非常复杂的网络拓扑结构,可能就类似于这样了:

640?wx_fmt=png

哈哈,晕图了、晕图了!

在如此复杂的分布式部署结构下,咱们微服务中服务依赖调用和数据传输所面临的问题也成倍增加,极大的提高了服务治理的难度。

同时,由于 容器化技术 的成熟和规模化,微服务都会采用容器化,并朝着 云原生应用 的方向发展。而传统的微服务架构中,虽然也有服务治理的组件,但是这些组件大多需要在应用代码里进行集成,这是不符合 云原生应用 的思想的。因此,大家急需一个标准化,能高效部署和运维的微服务体系方案。

因此,Service Mesh 就出现了,Service Mesh 就是用来解决这些痛点的,设计的目的就是用来解决微服务架构中 服务间可靠调用、服务治理 等问题。

下面就拿第一代 Service Mesh 产品 Linkerd 举例说明:

640?wx_fmt=png

图中可以看到,每一个服务实例(Service)的部署都会同时部署一个 Linkerd 实例,并且服务之间的调用并不是直接进行的,而是先经过 Linkerd 模块去代理转发完成的。

例如:Service A 需要调用 Service B 的时候,Service A 是把请求发给与它一起部署的 Linkerd-1 的,然后这个 Linkerd-1 将请求发给 Service B 所部署模块的 Linkerd-2,然后  Linkerd-2 再将请求内容转发给 Service B 处理。因此,在整个流程中,Service A  和 Service B 只需要关注自己的业务逻辑即可,无需关注任何服务框架的功能,这些服务框架的功能都是由Linkerd 去实现,Linkerd 要做 负载均衡、熔断、限流、监控等等。

下面我们具体来看看 Service Mesh 的原理。

三、「 Service Mesh 」的原理与应用?

Service Mesh 的核心其实就2个模块:SideCar 与  Control Plane,如图:

640?wx_fmt=png

搞懂了 SideCar 与  Control Plane 也就对 Service Mesh 的基础思想原理明白了。

  1. SideCar:

    上面说到的与服务部署在一起的轻量级网络代理也就是指SideCar,它的作用就是实现服务框架的各项功能,这样,就可以让服务(Service A 或 Service B)回归业务本质。

    传统的微服务架构中,各种服务框架的功能(例如:服务发现、负载均衡、限流熔断等)都代码逻辑或多或少的都需要耦合到服务实例的代码里,给服务实例增加了很多无关业务的代码,也带来了复杂度。

    有了SideCar之后,服务节点只做业务逻辑自身的功能,服务之间的调用交给了SideCar,由SideCar去注册服务、去做服务发现、去做请求路由、去实现熔断限流、去做日志统计。

    那么在这种新的微服务架构中,所有的 SideCar 组成在一起,其实就是一个服务网格了。那么这个大型的服务网格并不是完全自治的,它还需要一个统一的控制节点,也就是 Control Plane。

  2. Control Plane:

    640?wx_fmt=png

    Control Plane 是用来从全局的角度上控制 SideCar 的。比如 它负责所有 SideCar 的注册,它存储一个统一的路由表,帮助各个 SideCar 进行负载均衡和请求调度。它收集所有 SideCar 的监控信息和日志数据。它就相当于 Service Mesh架构 的大脑。Control Plane 控制着 SideCar 来实现服务治理的各项功能。

在文章的最开始提到过,以 Linkerd 为代表的被称为第一代 Service Mesh,而以 Istio 为代表的称为了第二代 Service Mesh。主要的不同就是 Istio 引入了 Control Plane 的概念,可以通过  Control Plane 来对服务进行一些精细化控制,所以 Istio 也被称为是实际上的 Service Mesh 标准产品。

以上,就是我对微服务架构中「 Service Mesh」的一些思考,你是怎么看的呢?


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 面试官问你MyBatis中有哪些设计模式,把这篇文章发给他

  • 听说,私有云也出新一代了?

  • 搞不懂SDN?那是因为你没看这个小故事…

  • 华为最强自研 NPU 问世,麒麟 810 “抛弃”寒武纪

  • 北邮通信博士万字长文,带你秒懂 4G/5G 区别!

  • LinkedIn最新报告: 区块链成职位需求增长最快领域, 这些地区对区块链人才渴求度最高……

  • 中文NLP的分词真有必要吗?李纪为团队四项任务评测一探究竟 | ACL 2019


640?wx_fmt=png真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言编程中线性表的顺序表示,数据结构C语言实现----线性表的顺序表示和实现...

线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。在高级程序设计语言中,通常都用数组来描述数据结构中的顺序存储结构。同时,由于线性表的长度可变,且所需最大存储空间随问题不同而不同,在C语言中可用动…

SpringBoot入门到精通_第5篇 _SpringBoot Actuator监控

接上一篇:SpringBoot入门到精通_第4篇 _开发三板斧 https://blog.csdn.net/weixin_40816738/article/details/101097161 文章目录一、 SpringBoot Actuator 概念1. 是什么?2. 如何整合SpringBoot Actuator?二、 SpringBoot Actuator 实战2.1.…

反转!美光、英特尔等多家美企恢复对华为供货;首例云服务器存储侵权案改判,阿里云不担责;英国政府拟严格审查Libra……...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

从达标到卓越 —— API 设计之道

摘要: 新技术层出不穷,长江后浪推前浪。在浪潮褪去后,能留下来的,是一些经典的设计思想。 在前端界,以前有远近闻名的 jQuery,近来有声名鹊起的 Vue.js。这两者叫好又叫座的原因固然有很多,但是…

SpringBoot入门到精通_第6篇 _必知必会

接上一篇:SpringBoot入门到精通_第5篇 _SpringBoot Actuator监控 https://blog.csdn.net/weixin_40816738/article/details/101097428 文章目录一、SpringBoot 配置管理1. 配置管理3种方式1.1. 以.properties为后缀名1.2. 以.yml/.yaml为后缀名(建议使用)2. Spring …

“刺激的”2017双11 阿里安全工程师首度揭秘智能风控平台MTEE3

摘要: “太刺激了,太刺激了!如果那个48%真出问题,整个安全部的双11就可能是3.25!” “太刺激了,太刺激了!如果那个48%真出问题,整个安全部的双11就可能是3.25!”知命推了…

你相信逛B站也能学编程吗?

戳蓝字“CSDN云计算”关注我们哦!作者 | 徐麟来源 | 数据森麟作者:徐麟,某互联网公司数据分析狮,个人公众号数据森麟(id:shujusenlin)前言很多人提到B站,首先想到的就会是二次元或者…

创建小程序

注册账号:https://mp.weixin.qq.com/

spring boot集成mybatis和springsecurity实现权限控制功能

上一篇已经实现了登录认证功能,这一篇继续实现权限控制功能,文中代码只贴出来和上一篇不一样的修改的地方,完整代码可结合上一篇一起整理spring boot集成mybatis和springsecurity实现登录认证功能-CSDN博客 数据库建表 权限控制的意思就是根…

基于云上分布式NoSQL的海量气象数据存储和查询方案

摘要: 气象数据是一类典型的大数据,具有数据量大、时效性高、数据种类丰富等特点,每天产生的数据量常在几十TB到上百TB的规模,且在爆发性增长。如何存储和高效的查询这些气象数据越来越成为一个难题,本文针对气象领域中…

现代IM系统中消息推送和存储架构的实现

摘要: 前言 IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。当然目前微信已经成长为一个生态型产品&…

漫画:为什么程序员没有女友?

戳蓝字“CSDN云计算”关注我们哦!作者 | 程序员小灰————— 五分钟后 —————ERNIE是百度开源深度学习平台飞桨(PaddlePaddle)推出的知识增强语义表示模型,通过海量数据建模词、实体及实体关系。相较于 BERT 学习原始语言信…

基于TableStore的数据采集分析系统介绍

摘要: 摘要 在互联网高度发达的今天,ipad、手机等智能终端设备随处可见,运行在其中的APP、网站也非常多,如何采集终端数据进行分析,提升软件的品质非常重要,例如PV/UV统计、用户行为数据统计与分析等。虽然…

idea 暂存文件或idea切换分支代码不见了

idea切换分支时,修改过的代码文件全部不见了 找了一下问题,切换分支时,idea自动会创建暂存文件, 点开,右边View --> 即可显示暂存文件。 点击Apply Stash 即可将暂存文件应用到当前分支。 如果发现此方法还是不行…

微服务架构之「 访问安全 」

戳蓝字“CSDN云计算”关注我们哦!作者 | 奎哥来源 | 不止思考应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后,项目的复杂度提升了N个级别,相应的,微服务的安全工作也就更难更复…

百亿级全网舆情分析系统存储设计

摘要: 前言 在时下互联网信息的浪潮下,信息的传播速度远超我们的想象。微博里一条大V的帖子,朋友圈的一个状态更新,热门论坛的一条新闻,购物平台的购物评价,可能会产生数以万计的转发,关注&…

面试官:你简历中写用过docker,能说说容器和镜像的区别吗?

戳蓝字“CSDN云计算”关注我们哦!作者 | bethal来源 | http://sina.lt/gfmf这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中…

IPv6终于要取代IPv4了!阿里云将全面提供IPv6服务

摘要: 近日,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》,加快推进基于IPv6的下一代互联网规模部署,计划指出到2018年末国内IPv6活跃用户数要达到2亿,2020年末达到5亿&#xff…

SDN精华问答 | 为什么会出现SDN?

SDN火热了好一阵子,无论运营商、政府企业、投资机构,一段时间,不知道SDN、不能甩几个SDN相关的名词术语,似乎都落后于时代了。今天,就来看看关于SDN的精华问答吧。1Q:SDN的本质属性? A&#xff…

一张图看懂2017双11中的网络产品和技术

摘要: 大家都知道,2017年双11又创造了新纪录,全天交易额1682亿,交易峰值32.5万笔/秒,支付峰值25.6W笔/秒,狂欢的背后是极其复杂庞大的技术系统,其中就有大量阿里云云计算相关的产品和技术&#…