无废话8小时学会使用Spring Cloud Alibaba(6)Sentinel流控熔断

    科技2024-10-16  27

    一 Sentinel的作用

    二 下载Sentinel

    官网下载地址:https://github.com/alibaba/Sentinel/releases,选择下载当前稳定版,这里下载的是sentinel-dashboard-1.7.1.jar。

    三 Sentinel安装和启动

    (1). 将下载的sentinel-dashboard-1.7.1.jar上传到服务器192.168.1.7,通过命令启动,

    nohup java -jar sentinel-dashboard-1.7.1.jar >log.file 2>&1 &

    (2). 将192.168.1.1,192.168.1.2,192.168.1.3服务器上的用户微服务,商品微服务,订单微服务,网关全部启动。

    (3).访问 http://192.168.1.7:8080 进入到sentinel管理控制台

     

    第一次进来点簇点链路里面是空白的,需要我们访问一次微服务才能看见,访问下订单微服务http://192.168.1.13/order/save?userId=1&productId=1&amount=1&token=1

    再次打开簇点链路

    四 流控规则

    因为是测试,这个做个最简单的限流,1秒钟只允许下1次订单(/order/save),如超过次数1,就直接快速失败,报默认错误。

    选择订单下单微服务,点流控

     

    访问下订单微服务http://192.168.1.13/order/save?userId=1&productId=1&amount=1&token=1,快速点击重新加载此页,会出现错误Blocked by Sentinel (flow limiting)

    五 规则持久化

    一旦我们重启应用,sentinel规则消失,生产环境需要将将限流规则持久进Nacos保存。

    1.yml文件添加Nacos数据源配置

    打开订单微服务yml文件,添加

    datasource:         ds1:           nacos:             server-addr: 192.168.1.14:8848             dataId: cloudalibaba-sentinel-service             groupId: DEFAULT_GROUP             data-type: json             rule-type: flow

    2.访问http://192.168.1.14:8848进入Nacos控制台管理,配置管理-配置列表,点击+号。

    3.访问http://192.168.1.7:8080,打开流控规则,会看到刚才在Nacos里面配置的规则

    Processed: 0.028, SQL: 8