本文转自:http://philcalcado.com/2017/08/03/pattern_service_mesh.html

SideCar: 
SideCar就是与Application一起运行的独立进程(Processor),为Application提供额外的功能;
例如:Kubernetes的Pod中运行一个Log收集器Container,这个Log收集器Container就被称为SideCar。


Service Mesh(服务网格):
在这样的模型里, 每个服务都会有一个SideCar代理与之匹配,服务间通信都是通过SideCar代理进行的,于是我们就会得到如下的部署图:

Buoyant 的 CEO William Morgan 发现,代理之间的连接形成了一种网格网络。2017 年初,William 对这样的平台做出了定义,并称之为 Service Mesh:

  服务网格是一个基础设施层,用于处理服务间通信。

  云原生应用有着复杂的服务拓扑,服务网格保证请

  求可以在这些拓扑中可靠地穿梭。在实际应用当中,

  服务网格通常是由一系列轻量级的网络代理组成的,

  它们与应用程序部署在一起,但应用程序不需要知道它们的存在。

这个定义最强有力的部分在于,它 不再把代理看成单独的组件,并强调了这些代理 所形成的网络的重要性:

组织开始将他们的微服务部署到更为复杂的运行时(如 Kubernetes 和 Mesos)上,并开始使用这些平台提供的网格网络工具。

他们正从使用一系列独立运行的代理转向使用集中式的控制面板:

从鸟瞰图中可以看到,服务的实际流量仍然在代理间流转,不过控制面板对每一个代理实例了如指掌,通过控制面板可以实现代理的访问控制和度量指标收集。

最近发布的 Istio就是这类系统最为突出的代表。

我们还无法对 Service Mesh 将给大规模系统带来怎样的影响做出全面的定论,不过我们至少可以看到两个方面的优势。

首先,微服务架构的一些公共组件已经是现成的,很多小公司可以享受到之前只有大公司才能享受的一些特性。

其次,我们或许能够因此使用最好的工具和编程语言,而无需担心不同平台对软件库和模式的支持存在差异。

												

Service Meth and SideCar的更多相关文章

  1. service mesh,linkerd,sidecar,apigateway

    对于大规模部署微服务(微服务数>1000).内部服务异构程度高(交互协议/开发语言类型>5)的场景,使用service mesh是合适的.但是,可能大部分开发者面临的微服务和内部架构异构复 ...

  2. Service Mesh vs SideCar

    Istio = 微服务框架 + 服务治理 Istio 大幅降低微服务架构下应用程序的开发难度,势必极大的推动微服务的普及.个人乐观估计,随着isito的成熟,微服务开发领域将迎来一次颠覆性的变革.后面 ...

  3. Qcon2017实录|Service Mesh:下一代微服务

    https://zhuanlan.zhihu.com/p/30292372 数人云11月Meetup报名开启,看中西方大神如何论道云原生与微服务!本文作者敖小剑老师将在本次Meetup上继续分享Ser ...

  4. 什么是 Service Mesh

    作者|敖小剑 微服务方兴未艾如火如荼之际,在 spring cloud 等经典框架之外,Service Mesh 技术正在悄然兴起.到底什么是 Service Mesh,它的出现能带来什么,又能改变什 ...

  5. 五分钟了解 Service Mesh

      1 背景   1.1 多语言   微服务理念是提倡不同业务使用最适合它的语言开发,现实情况也确实如此,尤其是AI的兴起,一般大型互联网公司存在 C/C++.Java.Golang.PHP.Pyth ...

  6. 什么是Service Mesh?

    转至大佬宋净明的博客:https://jimmysong.io/posts/what-is-a-service-mesh/ Service mesh 又译作 “服务网格”,作为服务间通信的基础设施层. ...

  7. Service Mesh(服务网格)

    Service Mesh(服务网格) 什么是Service Mesh(服务网格)Service mesh 又译作 "服务网格",作为服务间通信的基础设施层.Buoyant 公司的 ...

  8. Service Mesh 初体验

    前言 计算机软件技术发展到现在,软件架构的演进无不朝着让开发者能够更加轻松快捷地构建大型复杂应用的方向发展.容器技术最初是为了解决运行环境的不一致问题而产生的,随着不断地发展,围绕容器技术衍生出来越来 ...

  9. Service Mesh 是新瓶装旧酒吗?

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 李云(花名: ...

随机推荐

  1. load data导入数据之csv的用法

    今天总结一下:csv格式文件导入的方法. 1.准备数据表:CSV

  2. Unity3D学习笔记——NGUI之Localization system

    Localization system(国际化系统) 实现的就是用户选择不同的语言,切换我们游戏文字的显示. 一:创建一个CVS文件.可以用Google Docs, Excel等软件工具. 我这里用的 ...

  3. Laravel5.1 Migration数据库迁移文件

    Migration方便于团队开发,它就像数据库的版本控制一样,它的功能就是可以和别人共享你的数据库结构.这么说可能不太好理解,你跟着敲敲就明白了. 0 前提工作-配置数据库 找到你根目录的 .env ...

  4. Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?

    先上代码再进行分析 public class Test { public static void main(String[] args) { try{ int i = 100 / 0; System. ...

  5. 解决ios8 webView加载的地图无法定位问题

    本文转载至http://www.cocoachina.com/bbs/read.php?tid-237825.html     1.在文件info.pilist 中导入 NSLocationWhenI ...

  6. 【BZOJ1811】[Ioi2005]mea 乱搞

    [BZOJ1811][Ioi2005]mea Description 考虑一个非递减的整数序列 S1,....Sn+1(Si<=Si+1 1<=i<=n). 序列M1...Mn是定义 ...

  7. Xtrabackup 使用方法

    简介:Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品.本文测试使用的是1.3版本,X ...

  8. GridView中给DropDownList动态绑定数据,及选择列表值后自动更新数据库

    protected void sgvFile1_RowDataBound(object sender, GridViewRowEventArgs e) { DropDownList ddlAM = ( ...

  9. 统计TCP网络连接情况

    #!/bin/bash metric=$1 tmp_file=/tmp/tcp_status.txt /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a i ...

  10. 从“关于Java堆与栈的思考”一帖看错误信息的传播

    我对转贴的信息一直有敌意,原因如下:首先,除了制造更多的信息垃圾,转贴不会带来新的价值,想收藏的话一个链接足矣:其次,将错误信息以讹传讹,混淆视听.不妨选一个典型的例子说明一二. 相信<关于Ja ...