Istio分层架构?大部分的人有曲解

Istio是ServiceMesh的产品化落地:

(1) 它帮助微服务之间建立连接,帮助研发团队更好的管理与监控微服务,并使得系统架构更加安全。

(2) 它帮助微服务分层解耦,解耦后的proxy层能够更加专注于提供基础架构能力,例如:

  • 服务发现(discovery)
  • 负载均衡(load balancing)
  • 故障恢复(failure recovery)
  • 服务度量(metrics)
  • 服务监控(monitoring)
  • A/B测试(A/B testing)
  • 灰度发布(canary rollouts)
  • 限流限速(rate limiting)
  • 访问控制(access control)
  • 身份认证(end-to-end authentication)

等功能。

(3) 它使得业务工程团队与基础架构团队都更加高效的工作,各自专注于自己的工作,更好的彼此赋能。

今天来说一下Istio的核心架构设计。

关于Istio的架构设计,官网用了这样一句话:

逻辑上,Istio分为:

  • 数据平面(data plane)
  • 控制平面(control plane)

这两个词,是Istio架构核心,但又是大家被误导最多的地方。

数据平面和控制平面,不是ServiceMesh和Istio***次提出,它是计算机网络,报文路由转发里很成熟的概念:

画外音:上两图为路由器架构。

它的设计原则是:

  • 在一个路由设备里,转发是最重要的工作,它具备***的优先级,数据平面(data plane)的设计核心就是高效转发,如何在最短的时间里处理最多的包,往往使用高效内存管理、队列管理、超时管理等技术实现在硬件里
  • 控制平面(control plane)则不然,它要实现路由协议,设备管理,IGMP,ARP协议的,它更偏向于控制与应用,往往由软件实现

画外音:

  • IGMP(Internet GroupManagement Protocol),一个组播协议;
  • ARP(Address ResolutionProtocol),这个大家比较熟悉,根据IP地址获取MAC地址;

Istio的架构核心与路由器非常类似:

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章