目录

服务网格学习笔记

定义

  1. 位于基础设施层,处理服务与服务之间的通信;
  2. 主要功能是在云原生这种复杂的服务拓扑的情况下,进行可靠的请求分发;
  3. 一般情况下,它会转化为一组轻量化的网络代理,部署在应用服务旁边,对应用服务完全透明。

第二代service mesh形态如下,含有控制平面和数据平面(所有sidecar的总和)。

https://img.jooks.cn/img/202112262240111.png

主要功能

  1. 流量控制。比如路由、流量转移、超时重试、熔断等。
  2. 策略。流量限制、黑白名单等。
  3. 网络安全。授权、认证。
  4. 可观测性。

Service Mesh和Kubernetes的关系

Kubernetes
  • 解决容器编排和调度问题
  • 本质上是管理应用生命周期(容器)
  • pod天生支持多容器部署,为植入sidecar提供非常大的便利
Service Mesh
  • 解决服务间网络通信问题
  • 本质上是管理服务通信(代理)
  • 服务网格对k8s在网络方面的功能做了拓展和延伸

Service Mesh和API网关的对比

  1. Service Mesh部署了sidecar完全接管应用的网络
  2. api网关部署在应用的边界,对内部的api进行聚合和抽象,方便外部进行调用

问:service mesh 本身的ingress gw和api gw对比有什么区别呢,能取代api-gw吗?

答:Istio的ingressgateway本质上就是LoadBalancer的service,从功能上还比不上Kong这样的成熟网关产品。如果在网关层面有更复杂的需求,Ingress可能还满足不了。

技术标准

  1. UDPA (Universal Data Plane API)。数据平面的接入标准,主要由cncf提出。
  2. SMI (Service Mesh Interface)。控制平面接入标准,为用户提供统一的体验。

https://img.jooks.cn/img/202112262256090.png