业务场景治理
ServiceComb引擎针对不同的微服务开发框架,比如Spring Cloud、Java Chassis等设计了统一的基于动态配置的流量特征治理。通过在开发框架中引入相关治理组件,即可使用微服务引擎的微服务治理功能。
ServiceComb引擎业务场景治理分为创建业务场景和创建治理策略两个步骤。这两个步骤可以在微服务部署之前操作,比较适合您独立规划治理功能。
- 此章节适用于ServiceComb引擎为2.x版本。
- 当ServiceComb引擎版本为2.0.0及以上且小于2.4.0时,此章节名称为“微服务治理”。
前提条件
- 您需要了解待治理的微服务接口设计,根据接口特征创建业务场景。
- 待治理的微服务开发框架需要启用基于动态配置的流量特征治理功能。如果没有启用,仍然可以使用微服务治理功能,但是不会产生治理效果。
治理策略说明
支持限流、熔断、重试和隔离仓等策略的配置,具体说明见下表。
治理策略名称 |
说明 |
---|---|
限流 |
面对流量风暴,或可预知的流量冲击,对非重点业务场景进行限流,防止瞬时流量过大造成服务和数据崩溃,导致服务不可用。 |
重试 |
当服务遇到一些非致命性的错误(如偶尔超时)时,可以通过重试的方式来避免服务的最终失败。 |
隔离仓 |
面对大规模并发流量风暴,或可预知的流量冲击,对并发流量进行控制,防止瞬时并发流量过大造成服务和数据崩溃,导致服务不可用。 |
熔断 |
当某业务场景的错误率超过设定阈值时,为了保证整体业务系统的可用性,在此后的一分钟内该业务场景下的所有请求会被拒绝。然后再以50%的比率接受服务请求并统计业务的错误率,直至该业务场景下的错误率降低到设定阈值以下。 |
使用须知
若您需要删除正在使用的治理策略,需要注意以下信息:
- 存在的风险:治理策略失效,降低微服务系统抵抗异常流量的能力,当出现异常流量时,可能发生调用分布不均衡、微服务雪崩等问题。
- 注意事项:请在业务低谷期实施,在实施前确认无异常流量,如大规模调用、调用超时等。
创建业务场景
创建业务场景会自动生成以“servicecomb.matchgroup.”开头的配置。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
- 单击待操作的引擎。
- 选择“业务场景治理”。
当ServiceComb引擎版本为2.0.0及以上且小于2.4.0时,选择“微服务治理”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。
- 创建账号请参考新增账号。
- 选择
,参考下表设置参数。
参数名称
参数说明
业务场景名称
输入业务场景名称。
所属环境
选择微服务环境。
所属应用
选择待创建业务场景所属的应用。
匹配规则
单击“添加匹配规则”,设置流量标记:
- Method:选择流量的请求特征标记方法,支持GET、PUT、POST、DELETE、PATCH请求。
- Path:设置流量请求URI所包含的特征。
- Headers:单击“添加Headers规则”,设置流量请求头所包含的特征。
说明:- Method和Path规则必须配置。
- Headers规则可根据需要选择配置。
- 单击“确定”,完成业务场景创建。
- 单击业务场景所在行的,可查看匹配规则详情。
- 单击业务场景所在行“操作”列的“编辑”,可对业务场景进行编辑。
- 单击业务场景所在行“操作”列的“删除”,可删除该业务场景。
创建治理策略
- 登录微服务引擎控制台。
- 在左侧导航栏选择“ServiceComb引擎专享版”。
- 单击待操作的引擎。
- 选择“业务场景治理”。
当ServiceComb引擎版本为2.0.0及以上且小于2.4.0时,选择“微服务治理”。
- 在弹出的“安全认证”对话框输入账号名及其密码,单击“确定”。
- 首次连接ServiceComb引擎,请输入root账号名及创建ServiceComb引擎时输入的密码。
- 创建账号请参考新增账号。
- 在“治理策略”页签,单击 。
- 选择治理方式,单击“创建治理”,设置参数。
- 限流
参数名称
参数说明
治理策略名称
输入治理策略的名称。
业务场景
设置治理策略适用的业务场景:
- 单击“选择业务环境”,选择已创建好的业务场景名称。
- 单击“创建业务场景”,创建业务场景。
单位请求数
设定请求数及时间段的值。
当限流对象对当前服务实例的设定时间段内的请求数量超过设定的值,超过部分将会被限流,返回错误码429。
- 重试
参数名称
参数说明
治理策略名称
输入治理策略的名称。
业务场景
设置治理策略适用的业务场景:
- 单击“选择业务环境”,选择已创建好的业务场景名称。
- 单击“创建业务场景”,创建业务场景。
响应错误码
选择响应错误码,用于定义哪些错误类型会触发重试。
重试次数
设置重试次数。
重试策略
选择重试策略:
- 固定间隔重试:重试间隔时间固定。
- 指数间隔重试:采取指数退避算法确定重试间隔时间。
重试间隔时间
设置重试的间隔时间。
- “重试策略”选择“固定间隔重试”:设置重试的固定间隔时间。
- “重试策略”选择“指数间隔重试”:设置重试的基准时间、时间单位(s/ms)。
- 隔离仓
参数名称
参数说明
治理策略名称
输入治理策略的名称。
业务场景
设置治理策略适用的业务场景:
- 单击“选择业务环境”,选择已创建好的业务场景名称。
- 单击“创建业务场景”,创建业务场景。
最大并发数
根据实际系统的实际业务处理能力,设置业务的最大并发数。
阻塞计时
设置阻塞计时时间及单位(s/ms)。
当请求超出最大并发数时,超出阻塞计时时间范围后,该请求会被丢弃。
- 熔断
参数名称
参数说明
治理策略名称
输入治理策略的名称。
业务场景
设置治理策略适用的业务场景:
- 单击“选择业务环境”,选择已创建好的业务场景名称。
- 单击“创建业务场景”,创建业务场景。
熔断范围
滑动窗口类型
选择滑动窗口类型。
- 时间:时间窗口。
- 请求数:请求数量窗口。
滑动窗口大小
设置滑动窗口的大小。
- “滑动窗口类型”为“时间”:最近n秒/分钟时间范围内的调用会被记录和统计。
- “滑动窗口类型”为“基于计数”:最近n次的调用会被记录和统计。
其中,n为您设置的滑动窗口的大小。
调用次数基线
设置调用次数基线,即开启统计调用错误率至少需要达到的调用数量。
例如,设置“调用次数基线”为10,为统计错误率,则至少要记录10个调用。
熔断开启条件
错误率阈值熔断
勾选“错误率阈值熔断”时生效,设置“错误率阈值”,即调用错误的百分比。
当调用错误率不小于错误率阈值时,发生熔断,返回响应码429。
慢请求熔断
勾选“当慢请求达到您定义的比例时,开启熔断”时生效,设置以下参数:
- 慢请求定义:慢请求阈值定义,响应时间超过该阈值的请求都是慢请求。
- 慢请求比例:慢请求阈值,达到指定的慢请求比例时,发生熔断,返回响应码429。
- 限流
- 单击“创建”,治理策略开始生效。
在治理策略列表,单击业务场景所在行的:
- 单击治理策略所在行“操作”列的“启用策略”,可启动已关闭的治理策略,使治理策略生效。
- 单击治理策略所在行“操作”列的“关闭策略”,可关闭已启动的治理策略。
- 单击治理策略所在行“操作”列的“编辑”,可对治理策略进行编辑。
- 单击治理策略所在行“操作”列的“删除”,可删除已关闭的治理策略。