docker 安装sentinel
https://hub.docker.com/r/bladex/sentinel-dashboard/tags
找到对应版本1.8.0
docker pull bladex/sentinel-dashboard:1.8.0
docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard:1.8.0
docker update --restart=always sentinel
访问路径
http://192.168.1.137:8858
yml配置 我们需要以此给每个服务添加sentinel配置 注意client-ip 是本地 但是我们dashboard 是安装在docker中
spring: cloud: nacos: discovery: server-addr: 192.168.1.137:8848 sentinel: transport: port: 8719 dashboard: 192.168.1.137:8858 client-ip: 192.168.1.6 application: name: mall-seckill #同一全局 设置服务器响应给客户端的日期时间格式 jackson: date-format: yyyy-MM-dd HH:mm:ss thymeleaf: cache: false #关闭thymeleaf 缓存 redis: host: 192.168.1.137 port: 6379 task: execution: pool: core-size: 5 max-size: 20 session: store-type: redis redis: namespace: spring:redis rocketmq: name-server: 192.168.1.137:9876 producer: group: seckill-order-producer consumer: group: seckill-order-consumer server: port: 190 management: endpoints: web: exposure: include: '*'
配置sentinel 失败后返回数据
@Component public class SentinelUrlBlockHandler implements BlockExceptionHandler { @Override public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, BlockException e) throws Exception { R r=R.error(BizCodeEnum.Access_TOO_FAST.getCode(),BizCodeEnum.Access_TOO_FAST.getMsg()); httpServletResponse.setContentType("application/json;charset=UTF-8"); httpServletResponse.getWriter().write(JSON.toJSONString(r)); } }

浙公网安备 33010602011771号