Rate Limit

限流 #

限流是限制系统的输入和输出流量已达到保护系统的目的。一般来说系统的吞吐量是可以被测算的,为了保证系统的稳定运行,一旦达到的需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的。

通过solarmesh,可以方便的在页面配置流量限制。您可以在接入了sidecar的服务中选择一个源服务,配置它的HTTP最大请求量、HTTP最大等待中的请求量。在配置生效后,您对源服务的HTTP请求将会被限制在规定范围内,超出规则的流量将会被拒绝。

试试看 #

假设我们已经部署过bookinfo示例项目,并且为bookinfo示例项目的服务接入了sidecar(见 快速开始/接管服务)

访问我们事先部署好的示例项目bookinfo的页面,多刷新几次,您会发现在没有任何策略干预的情况下,页面中 Book Reviews 一栏呈现三种状态: 红星、黑星和无星,它们的出现概率约为1:1:1。

我们使用压力测试工具对 /productpage 接口进行持续的压力测试,使得流量视图能够看得到流量的走向。

流量视图-bookinfo

我们声明 reviews 服务的版本并给 reviews 服务配置限流策略。

reviews-dr-限流

策略生效之后,由于我们持续reviews 服务使用压力测试,在限流策略的影响下,系统会拒绝超过限制的请求,所以访问示例项目bookinfo的页面就会发现有一定概率出现系统拒绝请求的现象。

限流结果