第二章 服务网格的基本特性

  服务网格是一个独立的基础设施层,用来处理服务之间的通信。

  典型的服务网格通常提供了一组轻量级的网络代理,代理会在应用无感知的情况下,同应用并行部署、运行。

  Istio特性如下:

  • 连接: 对网格内部的服务之间的调用产生的流量进行智能管理,以此为基础,对微服务的部署、测试和升级提供保障
  • 安全:认证、加密、和鉴权支持,在不入侵代码的情况下,加固现有服务,提高安全性。
  • 策略:在控制面定制策略,并在服务中实施。
  • 观察:对服务间调用进行跟踪和测量,并获取服务的状态信息

2.1 连接

  网格内部调用(A -> B)

  出站连接(B -> 外部云服务)

  入站连接(用户 -> 服务A)

  流量分割(服务A的版本1分别调用服务B的版本1和版本2)

  按照调用方的服务版本进行路由

  

  此外,还有一些潜在需求:

   (1)在网格内部的服务之间如何根据实际需求对服务调用进行路由,条件可能包括:

    调用的源和目的的服务;

       调用内容;

     认证身份;

  (2)如何应对网络故障和网络服务。

  (3)如何处理服务之间不同版本的关系。

  (4)怎样对出站连接进行控制。

  (5)怎么样对入站连接启动后续的连接链条。

  与流量相关的问题,还引发了几个关键的功能需求:

       (1)服务的注册和发现

  (2)负载均衡策略

  (3)服务流量特征

  (4)动态流量分配:

2.2 安全

  通信加密、服务身份认证和服务访问控制(授权和鉴权)功能。

2.3 策略

  调用频率的限制、对服务互访的控制以及针对流量的一些限制和变更能力。

  Istio中使用Mixer作为策略的执行者,Envoy的每次调用,在逻辑上都会通过Mixer进行事先预检和事后报告,这样Mixer就有了对流量的部分控制能力;

2.4 观察

  监控和跟踪。

  关注调用成功率、响应时间、调用量、传输量等。

  面对数量众多的服务,对各种级别和层次的指标进行采样、采集和汇总。

  分布式跟踪。

 

 

 

    

posted @ 2019-01-28 21:37  刘大飞  阅读(968)  评论(0编辑  收藏  举报