一 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: flow2.访问http://192.168.1.14:8848进入Nacos控制台管理,配置管理-配置列表,点击+号。
3.访问http://192.168.1.7:8080,打开流控规则,会看到刚才在Nacos里面配置的规则