在slb中进行限流配置-j9九游会登录
限制指定窗口内的访问频次。
前提条件
需要具备appstage服务运维岗位权限或运维管理员权限,权限申请操作请参见申请权限。
流控类型介绍
支持的流控类型有节点级流控,服务级流控,接口级流控,ip流控,自定义参数流控,多参数组合流控,配额流控及并发连接流控,流控类型介绍如表1所示。每种类型的流控只能添加一次,slb流控的顺序按照页面从上往下匹配,页面支持上下移动流控的顺序。
|
类型 |
流控维度 |
窗口类型 |
限制 |
|---|---|---|---|
|
节点级流控 |
所有请求 |
漏桶 |
请求速率 |
|
服务级流控 |
以请求的host字段为维度 |
漏桶 |
请求速率 |
|
接口级流控 |
以请求的uri路径为维度 |
漏桶 |
请求速率 |
|
ip流控 |
以取得的请求ip为维度 |
漏桶 |
请求速率 |
|
自定义参数流控 |
以自定义的单个参数为维度 |
漏桶 |
请求速率 |
|
多参数组合流控 |
以自定义的多个参数为维度 |
漏桶 |
请求速率 |
|
配额流控 |
以自定义的多个参数为维度 |
固定窗口。 |
请求量。 |
|
并发连接流控 |
以自定义的多个参数为维度 |
n/a |
并发量。 |
- 窗口类型
- 漏桶:请求被均匀地限制,支持突发量配置。一般情况下,建议业务进行评估,并加上适当突发量,突发量一般不超过1秒的量。
- 固定窗口:只要在窗口内部超限即可。
例如同为100个/秒的限制,滑动窗口下,第0.1秒只能有10个请求,当然,滑动窗口下有个突发量的配置,在突发量10个的情况,可以在业务瞬间突发时额外再支持10个,突发池用满以后,即不可再用,只有等请求量下滑低于正常流控量时,再慢慢恢复突发池;固定窗口下,第0.1秒也可以允许100个请求。
- 限制类型
- 请求量:并不关注请求是否为并发,例如10个请求不论到来和处理的时间是否有并发情况,都记为10个。
- 并发量:只看某时间点,正在处理的请求的个数。如果请求1的开始时间到响应时间这个时间段,与请求2的开始时间到响应时间的时间段并不相互交叠,则请求1和请求2不是并发。否则存在并发关系。
配置全局开关
- 进入appstage运维中心。
- 在顶部导航栏选择服务。
- 单击
,选择。 - 选择左侧导航栏的“实例管理”。
- 在实例列表中单击待配置实例的名称,进入实例详情页面。
- 选择“限流配置”页签,单击“编辑”。
- 根据需要开启“流控总开关”和“分摊模式开关”。开关具体说明如表2所示。
表2 开关说明 开关
说明
流控总开关
关闭时所有流控都不生效。
分摊模式开关
- 分摊关闭:所有流控配置的统计粒度,仅针对slb实例中的单个节点,请根据业务整体流量来合理分配各个单节点的流控门限值,适用于slb节点变化,后端的请求量也会变化的场景。单个节点流控门限值 = 配置值。
- 分摊开启:所有流控配置的统计粒度,会针对slb实例中的节点的数量进行分摊,slb节点变化时,每个slb节点的流控门限值为配置值/slb节点数,适用于slb节点变化,后端的请求量不变化的场景。单个节点流控门限值 = 配置值/节点数 (向上取值:例如12/5=3)。
新增节点级流控
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“节点级流控”,单击“确定”。
- 配置相关参数,参数说明如表3所示。
表3 节点级流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
限流门限值
每秒允许进入slb节点的最大并发请求。默认0不限流。
突发量
在滑动窗口下,流控值会拆到较细粒度,比如x个/ms,此时通常配有突发量。突发量允许个别突增点发生。
- 突发量为0时,严格限制请求低于x个/ms,一旦突破则被流控,非常敏感。
- 突发量配置后,n个请求本应被流控,突发量>n个请求时,则可短时内免于流控。
突发量本身没有周期概念,用一个少一个,用完则无法使用。n个请求本应被流控,突发量>n个请求时,则可短时内免于流控,用掉之后,突发量池产生亏空,通过节省的流控值回补进突发量。
由于开源软件在高并发下,有可能超出流控量,故实施了保护机制,1/10s检查一次,是否用掉1/10的突发量,如用到则触发保护,下个1/10s不得再用。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
- 根据需要开启节点级流控开关,关闭时规则不生效。
新增服务级流控
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“服务级流控”,单击“确定”。
- 配置相关参数,参数说明如表4所示。
表4 服务级流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
限流门限值
每秒允许进入slb节点的最大并发请求。默认0不限流。
突发量
在滑动窗口下,流控值会拆到较细粒度,比如x个/ms,此时通常配有突发量。突发量允许个别突增点发生。- 突发量为0时,严格限制请求低于x个/ms,一旦突破则被流控,非常敏感。
- 突发量配置后,n个请求本应被流控,突发量>n个请求时,则可短时内免于流控。
突发量本身没有周期概念,用一个少一个,用完则无法使用。n个请求本应被流控,突发量>n个请求时,则可短时内免于流控,用掉之后,突发量池产生亏空,通过节省的流控值回补进突发量。
由于开源软件在高并发下,有可能超出流控量,故实施了保护机制,1/10s检查一次,是否用掉1/10的突发量,如用到则触发保护,下个1/10s不得再用。
新增子项
如果需要对特定域名进行特别的流控策略,则单击“新建子项”,设置host匹配条件与对应的限流门限值和突发量。
- (可选)如果需要对特定域名进行特别的流控策略,则单击“新建子项”。
表5 特定域名流控参数说明 参数
说明
域名
流控的域名。
匹配条件
- equal
- pettern
限流门限值
单个子项的限流门限值。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
突发量
单个子项的突发量。
操作
- 上移
- 下移
- 删除
- 根据需要开启服务级流控开关,关闭时规则不生效。
新增接口级流控
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“接口级流控”,单击“确定”。
- 配置相关参数,参数说明如表6所示。
表6 接口级流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
限流门限值
每秒允许进入slb节点的最大并发请求。默认0不限流。
突发量
在滑动窗口下,流控值会拆到较细粒度,比如x个/ms,此时通常配有突发量。突发量允许个别突增点发生。- 突发量为0时,严格限制请求低于x个/ms,一旦突破则被流控,非常敏感。
- 突发量配置后,n个请求本应被流控,突发量>n个请求时,则可短时内免于流控。
突发量本身没有周期概念,用一个少一个,用完则无法使用。n个请求本应被流控,突发量>n个请求时,则可短时内免于流控,用掉之后,突发量池产生亏空,通过节省的流控值回补进突发量。
由于开源软件在高并发下,有可能超出流控量,故实施了保护机制,1/10s检查一次,是否用掉1/10的突发量,如用到则触发保护,下个1/10s不得再用。
- (可选)如果需要对特定接口uri进行特别的流控策略,则单击“新建子项”。
表7 特定接口uri流控参数说明 参数
说明
接口url
流控的接口url。
匹配条件
- equal
- pettern
限流门限值
单个子项的限流门限值。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
突发量
单个子项的突发量。
聚合统计
选择开启或关闭,默认不聚合,表示匹配此条规则的url各自计数。如果开启聚合,表示符合此条规则时,合并计数。
例如:
- 聚合统计开启:接口/abc/def的门限值设置为1000,/abc/def/a,abc/def/b等加在一起为1000。
- 聚合统计关闭:接口/abc/def的门限值设置为1000,/abc/def/a,abc/def/b等每个url的门限值都为1000。
操作
- 上移
- 下移
- 删除
- 根据需要开启接口级流控开关,关闭时规则不生效。
新增ip流控
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“ip流控”,单击“确定”。
- 配置相关参数,参数说明如表8所示。
表8 ip流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
限流门限值
每秒允许进入slb节点的最大并发请求。默认0不限流。
突发量
在滑动窗口下,流控值会拆到较细粒度,比如x个/ms,此时通常配有突发量。突发量允许个别突增点发生。
- 突发量为0时,严格限制请求低于x个/ms,一旦突破则被流控,非常敏感。
- 突发量配置后,n个请求本应被流控,突发量>n个请求时,则可短时内免于流控。
突发量本身没有周期概念,用一个少一个,用完则无法使用。n个请求本应被流控,突发量>n个请求时,则可短时内免于流控,用掉之后,突发量池产生亏空,通过节省的流控值回补进突发量。
由于开源软件在高并发下,有可能超出流控量,故实施了保护机制,1/10s检查一次,是否用掉1/10的突发量,如用到则触发保护,下个1/10s不得再用。
- (可选)如果需要对特定接口ip进行特别的流控策略,则单击“新建子项”。
主要根据x-forwarded-for(xff,是一个http请求头字段,用于表示http请求的来源ip地址)和$remote_addr(slb收到的请求的ip层source ip,现网通常为elb的ip或者f5的ip)进行匹配。
表9 特定ip流控参数说明 参数
说明
xff获取ip
- left-ip:从左取ip,从头部x-real-ip取得ip,如不存在,取得x-forwarded-for最左侧非内网段ip,如未取得,则取ip报文source ip。
- right-ip:从右取ip,从ip报文取source ip,如果是内部信任ip,则依次从右向左逐个取x-forwarded-for,一旦遇到非内部信任ip,则返回它,直至取到最左边为止。
匹配条件
- sha256
- rangip
值
对应匹配的值。
上传文件格式为txt格式,多个数据用“,”分隔,文件大小不能超过102400b。
- 当匹配条件为sha256时,填写样例:5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5, 226fe7d26af82de76db083e6a29524ca68f4aaf80f2c2db058571fdb8f1fdeea
说明:
上传的值会自动转化为加密后的结果。
- 当匹配条件为rangeip时,填写样例:
10.1.1.1-10.1.1.100,10.2.2.1-10.2.2.100
限流门限值
单个子项的限流门限值。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
突发量
单个子项的突发量。
操作
- 上移
- 下移
- 删除
- 根据需要开启ip流控开关,关闭时规则不生效。
新增自定义参数流控
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“自定义参数流控”,单击“确定”。
- 配置流控规则,单击“新建子项”可以新增多条流控规则,参数说明如表10所示。
表10 自定义参数流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
参数
字符长度小于50,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符。例:param_home-001。
位置
- querystring
- header
- resource
- body-json
- body-form
匹配条件
- equal
- pattern
- sha256
值
对应匹配的值。
上传文件格式为txt格式,多个数据用“,”分隔,文件大小不能超过102400b。
- 当匹配条件为equal时,例如填写1,2,3,表示1或2或3都可匹配。
- 当匹配条件为pattern时,填写样例:
^abc
<=102400
- 当匹配条件为sha256时,填写样例:5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5, 226fe7d26af82de76db083e6a29524ca68f4aaf80f2c2db058571fdb8f1fdeea
限流门限值
单个子项的限流门限值。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
突发量
单个子项的突发量。
操作
- 上移
- 下移
- 删除
- 根据需要开启自定义参数流控开关,关闭时规则不生效。
新增多参数组合流控
可设置多个参数匹配同时满足时的,对应的限流条件
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“多参数组合流控”,单击“确定”。
- 配置流控规则,参数说明如表11所示。
单击“新增配置组”,可以配置多个配置组;在各配置组中单击“新增子项”,可以配置多条子项。多个配置组之间关系为“或”,多条子项之间关系为“与”。
表11 多参数组合流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
限流门限值
每秒允许进入slb节点的最大并发请求。默认0不限流。
突发量
在滑动窗口下,流控值会拆到较细粒度,比如x个/ms,此时通常配有突发量。突发量允许个别突增点发生。
- 突发量为0时,严格限制请求低于x个/ms,一旦突破则被流控,非常敏感。
- 突发量配置后,n个请求本应被流控,突发量>n个请求时,则可短时内免于流控。
突发量本身没有周期概念,用一个少一个,用完则无法使用。n个请求本应被流控,突发量>n个请求时,则可短时内免于流控,用掉之后,突发量池产生亏空,通过节省的流控值回补进突发量。
由于开源软件在高并发下,有可能超出流控量,故实施了保护机制,1/10s检查一次,是否用掉1/10的突发量,如用到则触发保护,下个1/10s不得再用。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
类型
- path
- left-ip:从左取ip,从头部x-real-ip取得ip,如不存在,取得x-forwarded-for最左侧非内网段ip,如未取得,则取ip报文source ip。
- right-ip:从右取ip,从ip报文取source ip,如果是内部信任ip,则依次从右向左逐个取x-forwarded-for,一旦遇到非内部信任ip,则返回它,直至取到最左边为止。
- 自定义参数
参数
当类型为自定义参数时,需要配置此参数。
字符长度小于50,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符。例:param_home-001。
位置
当类型为自定义参数时,需要配置此参数。
- querystring
- header
- resource
- body-json
- body-form
匹配条件
- 当类型为left-ip或right-ip时,仅支持:sha256和rangeip。
- 当类型为path或自定义参数时,仅支持:equal、sha256、pattern。
值
对应匹配的值。
上传文件格式为txt格式,多个数据用“,”分隔,文件大小不能超过102400b。
- 当匹配条件为equal时,例如填写1,2,3,表示1或2或3都可匹配。
- 当匹配条件为pattern时,填写样例:
^abc
<=102400
- 当匹配条件为sha256时,填写样例:5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5, 226fe7d26af82de76db083e6a29524ca68f4aaf80f2c2db058571fdb8f1fdeea
- 当匹配条件为pattern时,填写样例:
^abc
<=102400
聚合统计
选择开启或关闭,默认不聚合,表示匹配此条规则的url各自计数。如果开启聚合,表示符合词条规则时,合并计数。
例如:
- 聚合统计开启:接口/abc/def的门限值设置为1000,/abc/def/a,abc/def/b等加在一起为1000。
- 聚合统计关闭:接口/abc/def的门限值设置为1000,/abc/def/a,abc/def/b等每个url的门限值都为1000。
操作
- 上移
- 下移
- 删除
- 根据需要开启多参数组合流控开关,关闭时规则不生效。
新增配额流控
配额流控与多参数组合流控很相似,不同之处在于,多参数组合是滑动窗口,会时刻将请求限制在一定门限下, 门限分配均匀;配额是固定窗口,配额只负责在这个时间片内,请求不超限, 而不会去均匀地限制请求。
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“配额流控”,单击“确定”。
- 配置流控规则,参数说明如表12所示。
单击“新增配置组”,可以配置多个配置组;在各配置组中单击“新增子项”,可以配置多条子项。多个配置组之间关系为“或”,多条子项之间关系为“与”。
表12 配额流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
配额周期窗口
配置配额周期的窗口大小。
配额大小
周期内允许的配额,超过则被流控。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
类型
- path
- left-ip:从左取ip,从头部x-real-ip取得ip,如不存在,取得x-forwarded-for最左侧非内网段ip,如未取得,则取ip报文source ip。
- right-ip:从右取ip,从ip报文取source ip,如果是内部信任ip,则依次从右向左逐个取x-forwarded-for,一旦遇到非内部信任ip,则返回它,直至取到最左边为止。
- 自定义参数
参数
当类型为自定义参数时,需要配置此参数。
字符长度小于50,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符。例:param_home-001。
位置
当类型为自定义参数时,需要配置此参数。
- querystring
- header
- resource
- body-json
- body-form
匹配条件
- 当类型为left-ip或right-ip时,仅支持:sha256和rangeip。
- 当类型为path或自定义参数时,仅支持:equal、sha256、pattern。
值
对应匹配的值。
上传文件格式为txt格式,多个数据用“,”分隔,文件大小不能超过102400b。
- 当匹配条件为equal时,例如填写1,2,3,表示1或2或3都可匹配。
- 当匹配条件为pattern时,填写样例:
^abc
<=102400
- 当匹配条件为sha256时,填写样例:5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5, 226fe7d26af82de76db083e6a29524ca68f4aaf80f2c2db058571fdb8f1fdeea
- 当匹配条件为pattern时,填写样例:
^abc
<=102400
聚合统计
选择开启或关闭,默认不聚合,表示匹配此条规则的url各自计数。如果开启聚合,表示符合词条规则时,合并计数。
例如:
- 聚合统计开启:接口/abc/def的门限值设置为1000,/abc/def/a,abc/def/b等加在一起为1000。
- 聚合统计关闭:接口/abc/def的门限值设置为1000,/abc/def/a,abc/def/b等每个url的门限值都为1000。
操作
- 上移
- 下移
- 删除
- 根据需要开启配额流控开关,关闭时规则不生效。
新增并发连接流控
可设置多个参数匹配同时满足时的,对应的并发限流条件,两个请求同时在处理中被认为是并发。
- 在“限流配置”页签,单击“新增流控”。
- 流控类型选择为“并发连接流控”,单击“确定”。
- 配置流控规则,参数说明如表13所示。
单击“新增配置组”,可以配置多个配置组;在各配置组中单击“新增子项”,可以配置多条子项。多个配置组之间关系为“或”,多条子项之间关系为“与”。
表13 并发连接流控参数说明 参数
说明
限流降级url
- 不配置时使用默认降级策略503,通过设置转发策略支持,包括返回指定的错误码、报文等。
- 如需配置,建议配置为以@olc_degrade开头的字符串,并在slb服务管理里准备同名转发策略,在此处填写进行关联。
限流门限值
每秒允许进入slb节点的最大并发请求。默认0不限流。
突发量
在滑动窗口下,流控值会拆到较细粒度,比如x个/ms,此时通常配有突发量。突发量允许个别突增点发生。
- 突发量为0时,严格限制请求低于x个/ms,一旦突破则被流控,非常敏感。
- 突发量配置后,n个请求本应被流控,突发量>n个请求时,则可短时内免于流控。
突发量本身没有周期概念,用一个少一个,用完则无法使用。n个请求本应被流控,突发量>n个请求时,则可短时内免于流控,用掉之后,突发量池产生亏空,通过节省的流控值回补进突发量。
由于开源软件在高并发下,有可能超出流控量,故实施了保护机制,1/10s检查一次,是否用掉1/10的突发量,如用到则触发保护,下个1/10s不得再用。
自定义标签
可为空,字符长度0~200,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。
类型
- path
- left-ip:从左取ip,从头部x-real-ip取得ip,如不存在,取得x-forwarded-for最左侧非内网段ip,如未取得,则取ip报文source ip。
- right-ip:从右取ip,从ip报文取source ip,如果是内部信任ip,则依次从右向左逐个取x-forwarded-for,一旦遇到非内部信任ip,则返回它,直至取到最左边为止。
- 自定义参数
参数
当类型为自定义参数时,需要配置此参数。
字符长度小于50,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符。例:param_home-001。
位置
当类型为自定义参数时,需要配置此参数。
- querystring
- header
- resource
- body-json
- body-form
匹配条件
- 当类型为left-ip或right-ip时,仅支持:sha256和rangeip。
- 当类型为path或自定义参数时,仅支持:equal、sha256、pattern。
值
对应匹配的值。
上传文件格式为txt格式,多个数据用“,”分隔,文件大小不能超过102400b。
- 当匹配条件为equal时,例如填写1,2,3,表示1或2或3都可匹配。
- 当匹配条件为pattern时,填写样例:
^abc
<=102400
- 当匹配条件为sha256时,填写样例:5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5, 226fe7d26af82de76db083e6a29524ca68f4aaf80f2c2db058571fdb8f1fdeea
- 当匹配条件为pattern时,填写样例:
^abc
<=102400
操作
- 上移
- 下移
- 删除
- 根据需要开启并发连接流控开关,关闭时规则不生效。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨