因为要对微服务项目进行流量限制,于是就是学习了下istio的官网教程,下面示例代码需要改成你自己的服务名就可生效了。
开启限流
- istio默认是开启的,为false表示已经开启了。
kubectl -n istio-system get cm istio -o jsonpath="{@.data.mesh}" | grep disablePolicyChecks
- 没有启动的话,修改一下就可以了
istioctl manifest apply --set values.global.disablePolicyChecks=false
限流的组成部分
限速配置分为两个部分
client Side
- QuotaSpec: 定义客户端应该请求的配额名称和数量 (指定quota)
- QuotaSpecBinding: 有条件的将QuotaSpec与一项或多项服务相关联(把quota spec绑定到你想要绑定的服务上去。如果是service:’*’ ,则把所有服务都绑定到QuotaSpec上)
Mixer Side
- quota instance :