什么是服务网格

发布时间: 更新时间: 总字数:576 阅读时间:2m 作者: 分享 复制网址

服务网格(service mesh)是一个专注于处理服务间通信的基础设施,负责在云原生应用组成的复杂服务拓扑中可靠的传递请求。

介绍

服务网格的特点:

  • 轻量级网络代理:代理应用间的所有流量
    • 应用间不直接通信,通过服务网格的网络代理才能通信
  • 应用无感
  • 解决的需求包括服务发现、负载均衡、故障恢复、度量和链路监视
  • 处理服务间可能出现的超时、重试、监控、链路追踪等
  • 可以解决:A/B测试、canary 部署、速率限制、访问控制、加密、端到端身份认证

常见的服务网格

  • 服务网格最具代表性的是 Istio,服务网格 Istio 的实现:
    • 控制平面(Service Mesh Contrtol Plane)
      • SideCar 的注入 Istio 自动完成,注入后,Pod 之间的流量均由注入的 SideCar 代理
    • 数据平面:UDPA
      • 通过定制的 Envoy (istio-proxy/sidecar)实现
  • AppMesh:AWS 自研控制平面、基于 Envoy 开发的数据平面,主要支持流量控制和 AWS 产品的融合
  • NginxMesh:nginx 开源的 mesh 方案,使用 nginx 代替 envoy 与 Istio 控制平面集成
  • Linkerd:比 Istio 还早,数据平面和控制平面均自研
  • Kuma:Kong 开发的,数据平面使用 envoy,控制平面自研
  • Meshery:一种服务网格的控制平台,支持多种服务网格,如 Istio、Linkerd、Consul 等
  • SofaMesh:蚂蚁金服自研,使用 golang 开发的 sidecar MOSN 代替 envoy,对 Mixer、Pilot、Citadel 均有优化
最新评论
加载中...
Home Archives Categories Tags Statistics