33 | 下一代微服务架构Service Mesh
该思维导图由 AI 生成,仅供参考
什么是 Service Mesh?
- 深入了解
- 翻译
- 解释
- 总结
Service Mesh作为下一代微服务架构备受关注,它是一种新型的技术,用于处理服务与服务之间的通信,尤其适用于云原生应用形式部署的服务,能够保证服务与服务之间调用的可靠性。其实现原理主要包括轻量级的网络代理(SideCar)和基于SideCar的服务治理(Control Plane)。在Service Mesh架构中,服务框架的功能都集中实现在SideCar里,并在每一个服务消费者和服务提供者的本地都部署一个SideCar,服务消费者和服务提供者只管自己的业务实现。而Control Plane则起着统一的地方与各个SideCar交互,控制服务网格中流量的运转。它包括服务发现、负载均衡、请求路由、故障处理、安全认证、监控上报、日志记录和配额控制等功能。Service Mesh的出现主要是为了解决跨语言服务调用和云原生应用服务治理的需求,为微服务架构带来了新的可能性和解决方案。 Service Mesh通过SideCar代理转发请求,把服务框架的相关实现全部集中到SideCar中,并通过Control Plane控制SideCar来实现服务治理的各种功能,这种业务与框架功能解耦的思想恰好能够解决上面两个问题。 Service Mesh在诞生不到两年的时间里取得令人瞩目的发展,在国内外都涌现出一批具有代表性的新产品,最著名的莫过于Google、IBM领导的Istio,也是Service Mesh技术的代表之作。而国内在这一方面也不遑多让,秉承了Service Mesh的思想也走出了各自的实践之路,并且已经开始在线上的核心业务中大规模使用,比如微博的Weibo Mesh、华为公有云Service Mesh以及蚂蚁金服的SOFA Mesh等。 Service Mesh中SideCar的部署模式是在每个服务节点的本地,都同等部署一个SideCar实例,为了解决跨语言服务调用和云原生应用服务治理的需求,为微服务架构带来了新的可能性和解决方案。
《从 0 开始学微服务》,新⼈⾸单¥59
全部留言(19)
- 最新
- 精选
- oddrock集中式的方式就类似esb模式了,缺点就是: 1、本地调用变成了远程调用,开销变大。 2、无法采用iptables这样的拦截技术实现对服务的透明无感知的调用和转发。 3、集中后可能存在网络和性能瓶颈。 但这样做也不是一无是处,在一些对微服务治理平台的资源占用要求不能太多,且需要对微服务集中管控的情况下,是不是也可以尝试啊。
作者回复: 确实,对一些规模较小的服务调用可以尝试,这时候有点类似nginx和slb的角色
2018-11-06218 - Switchsidecar代理模式本身定义就是作为轻量级代理,其一般是不支持高可用特性的。 部署方式也是和应用程序一起部署在父容器中,提供一些支撑性 服务。
作者回复: 嗯
2018-11-0611 - 李二木老师你看了github的事故说明后,有什么感想呢?
作者回复: 数据库自动切主是个非常高危的操作,在生产环境中使用要非常谨慎
2018-11-065 - 文敦复Control Plane是一个集中式的处理单元,所有side car 共享他?每次调用都需要cp来做决断?
作者回复: 监控、配额控制、安全都需要经过cp
2018-11-123 - 每天晒白牙就像大家所说的,一个sidecar有单点问题。同时sidecar与服务一同部署可以减去网络开销,如果都调用同一个sidecar增加了网络开销。
作者回复: 确实
2018-11-072 - 松花皮蛋meservice mesh是长连接的吗
作者回复: sidecar之间通信可以保持长链接
2018-11-062 - 爱吃回锅肉的瘦子第一点,是单点故障,第二点是为了实现负载均衡(个人猜想)第三点多个实例可以用来定位每一个服务?第四点不同实例可以针对性为该服务定制请求,第五点让不同系统不同的标准统一,方便调用。
作者回复: 主要是因为单点故障和单点可能成为瓶颈
2018-11-061 - gen_jin回答老师的问题:1.有单点问题 2.多一跳有性能开销 3.配置麻烦
作者回复: 正确
2018-11-061 - 南山一个sidercar存在单点故障隐患 有时候需要对服务提供者或服务提供者进行个性化配置,一个sidercar不如多个sidercar方便 集中部署sidercar更有可能出现性能瓶颈,如单个服务流量或者访问量巨大时会不会拖慢整体 暂时只能想到这些不知道对不对的点
作者回复: 是要考虑的几个因素
2018-11-061 - 拉欧Service mesh要求sidecar是轻量级的代理,这表示sidecar不具备高可用特性,如果一个sidecar代理多个实例,就会出现单点问题,尤其在流量高峰期,一旦sidecar挂了,一群服务都不能用了。
作者回复: 这是很重要的一个原因
2018-11-061