zoukankan      html  css  js  c++  java
  • 第二章 服务网格的基本特性

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

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

      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 观察

      监控和跟踪。

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

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

      分布式跟踪。

        

  • 相关阅读:
    【JDK】JDK源码分析-Semaphore
    【JDK】JDK源码分析-CyclicBarrier
    【JDK】JDK源码分析-CountDownLatch
    【JDK】JDK源码分析-ReentrantLock
    【JDK】JDK源码分析-AbstractQueuedSynchronizer(3)
    【JDK】JDK源码分析-AbstractQueuedSynchronizer(2)
    【JDK】JDK源码分析-AbstractQueuedSynchronizer(1)
    如何判断无线和网线是否在同一网段?
    Android Studio+SVN配置生成apk文件
    Java冒泡排序
  • 原文地址:https://www.cnblogs.com/liufei1983/p/10331925.html
Copyright © 2011-2022 走看看