因为要对微服务项目进行流量限制,于是就是学习了下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 : 定义Mixer如何确定(根据那些字段)配额
- memquota handler
本文介绍了如何使用Istio对微服务进行流量限制,包括开启限流、限流组成部分、代码示例和部署确认。限流配置涉及client Side、Mixer Side的设置,如QuotaSpec、QuotaSpecBinding、quota instance等。文中提供了具体的代码示例,并展示了在产品页面刷新后触发限流的响应。文章还讨论了不同限速方案、清理过程以及根据条件限制速率的方法,加深了对速率限制机制的理解。
订阅专栏 解锁全文
1236

被折叠的 条评论
为什么被折叠?



