美文网首页
Istio设计理念

Istio设计理念

作者: Dakini_Wind | 来源:发表于2021-11-20 19:50 被阅读0次

PS:《Service Mesh实战》笔记

解决的问题:当前越来越多的微服务、系统调用及流量,如何才能有效的管理起来?而且同时还要支持不同的语言及不同的部署平台。

优势

  • 针对HTTP、gRPC、WebSocket及TCP等协议的自动负载均衡。
  • 精细的请求流量控制,支持众多路由、重试及容灾层面上的规则,支持故障模拟。
  • 模块化插件扩展支持,可通过API进行访问、频率限制及配合方面的控制。
  • 全自动化的请求遥测(Telemetry)、日志分析及全链路跟踪系统,所有的请求都在掌控之内。
  • 全链路安全访问控制与身份认证

核心意义:适配多种Pass平台,把调用链路相关工作从业务逻辑中彻底剥离出来。形成“数据平面”,再通过添加“控制平面”进行统一控制,把整个链路负载工作都下沉到了PaaS技术栈上层,业务开发工程师不在需要关心内部实现,就像使用云服务一样简单。

结构划分

  • 数据平面:网关代理组成,服务之间的桥梁。与Nginx不同的是,API实时接收配置并生效,实现动态化的流量代理。

    • Sidecar: 用来将不同的节点形成“数据平面”这个面。在K8S的生态中,Sidecar会被自动注入Pod(也可以手动注册),将其后面的服务纳入Service Mesh的生态中。
  • 控制平面:对“数据平面”中网关的统一配置与维护平台。配置包含:请求路由,还包括限流降级、熔断、日志收集、性能监控等。其中控制平面由被划分成了Pilot、Mixer、Citadel。

    • Pilot:为数据平台的Sidecar提供服务发现能力。其本身并不做服务注册,只提供一个接口,对接已有的服务注册系统。
    • Mixer:负责在服务调用之间实施控制策略,同时在调用间收集请求到的遥测数据。抽象逻辑上可以分为两个方面:1. 后端逻辑抽象:将后端功能实现细节抽象化屏蔽,只留下直观的接口,方便调用与扩展;2. 中心化的控制:对每个请求进行细致的控制,让任何通信都处于管控范围内。
    • Citadel:对非加密的请求进行安全强化,将其升级至加密的安全传输。Citadel提供安全性非常强的服务到服务(Service-to_Service)以及用户到用户(User-to-User)的认证功能,内置角色与秘钥管理,支持基本的RBAC。

相关文章

网友评论

      本文标题:Istio设计理念

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