Sentinel | 热点规则 | 系统规则

2020-07-23  本文已影响0人  乌鲁木齐001号程序员

热点

Sentinel 实现根据参数指定不同的限流规则(热点规则)

将商品查看接口看做成一个 @SentinelResource
@GetMapping("/{id}")
@SentinelResource(value = "getOrder")
public OrderInfo getInfo(@PathVariable Long id, @AuthenticationPrincipal String username) {
    log.info("user name " + username);
    log.info("orderId is " + id);

    OrderInfo info = new OrderInfo();
    info.setId(id);
    info.setProductId(id * 5);

    return info;
}
在 sentinel-dashboard 中添加热点规则

配完了之后,对于被 @SentinelResource(value = "getOrder") 标注的接口,如果参数 id 带的值是 1,那么允许它的 QPS 就是 1;对于 id 值是其他的值的请求,允许其 QPS 就是 10;

系统规则

系统规则的 5 中预置类型

发生系统规则中配置的情况的时候,会把整个应用都断掉,所有的接口对不能对外提供服务了,这个设计很少用,因为粒度太大了,用 Sentinel 一般都是做细粒度的维护,如果设置了系统规则,可能自己都不知道怎么回事,系统就用不了了;

上一篇 下一篇

猜你喜欢

热点阅读