美文网首页
在吗,了解下Istio

在吗,了解下Istio

作者: n油炸小朋友 | 来源:发表于2019-12-31 11:18 被阅读0次

    为什么通信双方需要代理 \ 传统代理的作用?

    1. 选择性的拦截某些流量
    2. 流量都经过代理,代理就可以统计分析这些访问
    3. 代理可以缓存数据(通信双方可能有多层代理,如果两方比较远,可以选择近的代理得到数据)----》cdn
    4. 分发流量,负载均衡----》nginx
    5. 通信双方不能直接通信的情况----》科学·上网
    6. 添加信息----》广·告注入

    Service Mesh是什么?

    可以看做在TCP层之上的一个特殊的网络代理(代理可以是嵌套的,也就是说通信双方中间可以多多层代理),特殊点在于

    1. Service Mesh中每一个应用都跟着一个代理(分布式代理)。
    2. Service Mesh知道整个集群的所有应用信息
    3. Service Mesh额外添加了热更新、注入服务发现、降级熔断、认证授权、超时重试、日志监控等功能(具有业务逻辑)
    4. 由于代理是分布式的,所以需要有一个管理这些代理配置的控制中心

    Istio 是什么?

    1. 官方解释:连接、安全加固、控制和观察服务的开放平台
    2. 是Service Mesh的一种实现
    3. 对比Service Mesh的特殊点:对Service Mesh中的控制中心做了细分(分成了 Pilot、Mixer 和 Citadel)

    Istio的功能?

    • 连接(Connect):自动地服务发现、负载均衡、流量控制等,能够实现灰度升级、AB 测试和红黑部署等功能
    • 安全加固(Secure):自动为服务之间的调用提供认证、授权和加密。因为所有的流量都是通过代理的,那么代理接收到不加密的网络流量之后,可以自动做一次封装,把它升级成安全的加密流量。
    • 控制(Control):用户可以配置各种规则(比如 RBAC 授权、白名单、Rate Limit 或者 Quota 等),当代理发现服务之间的访问不符合这些规则,就直接拒绝掉。
    • 观察(Observe):查看服务运行期间的各种数据,比如日志、监控和 tracing,了解服务的运行情况。

    Istio解决什么痛点?

    1. 由于微服务多,之间协调工作,出问题的话,很难排查,引入Istio,可以监控到链路中哪个部分响应慢,快速定位到哪个调用出现了问题。
    2. 节点出现异常,可以把流量分发到其他可用节点,提高集群容错性
    3. 因为可配置访问地址,所以方便AB测试
    4. 服务之间的认证、限流、授权等方式通常是一致的,使用Istio,就可以不需要每个服务之间重复实现这些功能

    控制中心Pilot、Mixer 和 Citadel各自负责什么?

    • Pilot:为 Envoy 提供了服务发现,流量管理和智能路由(AB 测试、金丝雀发布等),以及错误处理(超时、重试、熔断)功能。 用户通过 Pilot 的 API 管理网络相关的资源对象,Pilot 会根据用户的配置和服务的信息把网络流量管理变成 Envoy 能识别的格式分发到各个 Sidecar 代理中。
    • Mixer:为整个集群执行访问控制(哪些用户可以访问哪些服务)和 Policy 管理(Rate Limit,Quota 等),并且收集代理观察到的服务之间的流量统计数据。
    • Citadel:为服务之间提供认证和证书管理,可以让服务自动升级成 TLS 协议。

    官方介绍:
    https://istio.io/docs/concepts/what-is-istio/
    istio搭建:
    https://blog.csdn.net/luanpeng825485697/article/details/84500612
    详细介绍:
    https://www.sohu.com/a/270131876_463994

    相关文章

      网友评论

          本文标题:在吗,了解下Istio

          本文链接:https://www.haomeiwen.com/subject/nbdboctx.html