Service Mesh介绍

Service Mesh模式 

背景:微服务模式下,线上往往存在很多微服务实例,不同的实例之间,通过http、rpc调用完成服务之间的调用问题。

在这种情况Service Mesh就把网络管控的一些功能,统一摘出来处理做成了基础设施层(Service的底座),通常以Sidecar的形式部署,用来处理服务和服务之间的通信。Sidecar 被称为边车模式,简单说就是三轮摩托车,在某些国外的文档中是这么介绍的,业务作为一个独轮车依赖于一辆摩托车,组合起来一起运行。

Service Mesh介绍_第1张图片

 

Service Mesh主要功能

  • 流量控制:路由(蓝绿部署、灰度发布、A/B测试)、流量转移、超时重试、熔断、故障注入、流量镜像
  • 策略:流量限制、黑白名单
  • 网络安全:授权及身份认证
  • 可观测性:指标收集和展示、日志收集、分布式追踪

Service Mesh的组成

Service Mesh是由两部分组成的数据平面和控制平面。如下图。

  • 数据平面:所有的Sidecar的组合。
  • 控制平面:用来进行总体的控制。

Service Mesh介绍_第2张图片

Service Mesh和Kubernetes的关系

Kubernetes:

  • 解决容器编排与调度问题
  • 本质上是管理应用生命周期(调度器)
  • 给予Service Mesh支持和帮助,是Service Mesh的底层

Service Mesh:

  • 解决服务间网络通信问题
  • 本质上市管理服务通信(代理)
  • 是对Kubernetes网络功能方面的延伸和扩展

Service Mesh和API网关的异同点

Service Mesh介绍_第3张图片

左图:Service Mesh中的Sidecar处理网络请求,本服务可以通过Sidecar调用到其他服务。

右图:API网关是附着在应用的边界,不侵入应用内部,API网关是对一些API的聚合和抽象,以方便外部调用。

异同点:

  • 功能有重叠,但是角色不同。
  • Service Mesh在应用内部,API网关在应用外边。

你可能感兴趣的:(ServiceMesh,服务网格,service_mesh,kubernetes,java)