前言
在上一篇中,我们初步了解了Sentinel的基本概念,以及其有关限流方面的基础理论,本篇将通过简单的与框架进行整合,看看Sentinel如何在实际项目中进行使用
控制台安装与部署
在实际的小微服务中,使用Sentinel做限流还有另一个强大的利器,就是其提供的dashboard,尽管我们可以通过编写Sentinel提供的一些API限流规则封装一些通用的方法,但是这对于很多初次接触Sentinel的同学来说,学习成本仍然不小,而提供的dashboard可以很方便的通过界面配置的方式达到上一篇中我们追求的效果,甚至更加灵活,而开发人员无非要做的就是,在程序代码中,只需要捕获限流后的异常并抛给页面提醒调用者即可,
进入Sentinel的git,点击下载提供的dashboard,最新的为1.8
下载到本地之后,其实就是一个springboot打成的jar包,windows环境下,cmd窗口,直接通过下面的命令启动即可,
java -jar -Dserver.port=9100 sentinel-dashboard-1.8.0.jar
启动成功后,访问一下吧,初次访问,需要登录用户名和密码,均为 : sentinel/sentinel
但是进来之后发现空空如也,别紧张,这个dashboard默认是懒加载的,意思就是没有应用接入进来,它就不展示任何信息,等到我们将本地的服务通过配置接入的时候就能看到效果了
springboot工程快速接入dashboard
1、导入基本的依赖
org.springframework.boot
spring-boot-starter-web
2.2.1.RELEASE
org.springframework.boot
spring-boot-starter-test
test
mysql
mysql-connector-java
${mysql-connector-java.version}
com.alibaba.cloud
spring-cloud-alibaba-sentinel
org.springframework.boot
spring-boot-starter-actuator
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
2、yml配置
server:
port: 8082
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://IT:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
username: root
password: root
#logging:
# config: classpath:logback-spring.xml #日志
application:
name: service-order
#注册中心使用nacos
cloud:
nacos:
discovery:
server-addr: IP:8848
#连接sentinel的dashboard
sentinel:
transport:
dashboard: localhost:9100
#设置单个文件最大上传大小
servlet:
multipart:
max-file-size: 20MB
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
global-config:
db-column-underline: true #开启驼峰转换
db-conf