网站首页 服务项目 客户案例 我们优势 主机域名 关于黑羽 联系黑羽

资讯中心
了解网站建设资讯引领网站建设开发方向
Aeraki系列:如何设置本地限流规则
 
Aeraki 可以帮助你在服务网格中管理任何七层协议。目前 Aeraki 已经支持了 Dubbo、Thrit、Redis 等开源协议。你还可以使用 Aeraki 的 MetaProtocol 协议扩展框架来管理私有协议的七层流量。
本系列教程将介绍如何通过 Aeraki 来在服务网格中为 Dubbo、Thrift 等协议的服务提供七层流量路由、本地限流、全局限流,以及如何基于 Aeraki Protocol 快速开发一个自定义协议,并在 Istio 服务网格中对采用自定义协议的服务进行管理。
本篇教程介绍如何利用 Areaki 提供的 MetaRouter CRD 资源对基于 MetaProtocol 开发的应用协议设置本地限流规则。
如果你还没有安装示例程序,请参照 快速开始(https://www.aeraki.net/zh/docs/v1.0/quickstart/) 安装 Aeraki,Istio 及示例程序。
安装完成后,可以看到集群中增加了下面两个 NS,两个 NS 中分别安装了基于 MetaProtocol 实现的 Dubbo 和 Thrift 协议的示例程序。你可以选用任何一个程序进行测试。
Aeraki 的限流规则设计直观而灵活,既支持对一个服务的所有入向请求进行限流,也支持按照不同的条件对一个服务器的请求进行细粒度的限流控制。
备注:因为本地限流是在一个服务实例上进行处理的,因此当服务有多个实例,实际的限流效果为限流数量乘以实例数量。
使用 aerakictl 命令来查看客户端的应用日志,可以看到客户端每分钟只能成功执行 4 次请求(有两个服务实例,每个服务实例限流为每分钟 2 次):
Aeraki 支持按照条件为服务设置多个限流规则,以满足细粒度的限流要求。例如按照用户或者对接口对请求进行分组,并对每个分组设置不同的限流规则。
分组限流的匹配条件和路由匹配条件相同,任何可以从请求数据包中提取出来的属性都可以用于限流规则的匹配条件。
例如下面的规则为 sayHello 和 ping 两个接口分别设置了不同的限流条件:
可以同时设置服务粒度的限流规则和按照条件的限流规则,这适用于需要对一个服务的所有请求设置一个整体的限流规则,同时又需要对某一组或者几组请求设置例外的情况。
例如下面的限流规则为服务设置了一个 1000 条/分钟的整体限流规则,同时单独为 ping 接口设置了 100 条/分钟的限流条件。
Aeraki 向 Sidecar Proxy 下发的配置中为服务对应的 Listener 设置了 MetaProtocol Proxy,配置中设置了 local rate limit filter。
Aeraki 会将 MetaRouter 中配置的限流规则翻译为local rate limit filter 的限流配置,通过 Aeraki 下发给 MetaProtocol Proxy。
可以通过下面的命令查看服务的 sidecar proxy 的配置:
其中 Thrift 服务的 Inbound Listener 中的 MetaProtocol Proxy 配置如下所示:
网页制作的服务
网站开发服务
自贡黑羽网络品牌建站
自贡本地做网站就选黑羽网络
Tel:0813-5104030 15348110304 QQ或微信:22232591
地址:四川省自贡市自流井区丹佳大街泰丰大厦写字楼19楼10号
Copyright © 2018-2058 自贡黑羽网络科技有限公司 All rights reserved. ICP备案号 : 蜀ICP备12014994号-1 技术支持:黑羽网络
自贡网站建设,网页设计制作与开发,自贡网络公司推荐品牌,关键词: 自贡网站制作 自贡做网站 自贡网络公司 自贡网页制作 自贡做网站 网站地图xml 网站地图html 网站地图txt