云原生 API 网关 APISIX入门
242
2022-10-29
第二十三章 九析带你轻松完爆 Istio - destination rule 介绍
系列文章:总目录索引:九析带你轻松完爆 istio 服务网格系列教程
目录
1 前言
2 邀约
3 介绍
4 路由策略
5 样例说明
1 前言
2 邀约
3 介绍
上章展示了 destination rule 一个实例。
destination rules 是 Istio 流量路由的关键功能,它不能独自使用,必须跟 Virtual Service 共同发挥作用。当 destination rules 跟 virtual service 共同使用的时候,virtual service 决定将流量路由到逻辑地址,而 destination rules 则决定流量路由到物理地址。
virtual service 跟 destination rules 路由关系就像变量到内存的地址映射一样,destination 代表内存实际地址,而 virtual service 作用就像程序的指针。
destination rules 通常用在微服务的版本分组上(例如可以通过 version 标签将微服务进行分组)。通过 destination rules 的分组规则可以实现将流量路由到服务的不同版本中,进而实现类似灰度、金丝雀、蓝绿等版本分流的策略。
destination rules 不仅可以决定把流量路由到何处,还可以制定如何路由流量(比如是轮询路由流量,还是随机路由流量等等)。有关 destination rules 选项可以参考 Destination Rule 指南。
4 路由策略
默认情况下,Istio 使用轮询的负载均衡路由策略(round-robin),也就是说服务所有实例按顺序接收请求。当然 Istio 也支持如下的模型,这些模型都可以通过在 destination rule 中进行指定:
Random:请求被随机分配给服务的实例Weighted:请求基于权重被分配给服务的实例Least requests:请求被分配给服务最少被访问的实例
5 样例说明
上例 destination rule 中指定了 subsets,子集是根据 version 来定义。注意,这里 labels 内容可以自由定义,不一定非要是 version。其中的 trafficPolicy 就是流量路由到服务所有实例的策略(比如随机、轮询、按权重、最少访问等)。此外针对 v2 这个 subsets,它的路由策略比较特殊,它覆盖了默认的 RANDOM 方式,而是直接采用了 ROUND_ROBIN 方式。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~