微服务 - 限流熔断

本文介绍了如何在Spring项目中集成Sentinel,包括添加依赖、配置限流规则、设置流控模式、链路限流、编写降级策略和使用拦截器实现异常处理。此外,还涵盖了热点数据限流、系统规则应用及授权规则的实战步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sentinel前期准备

  1. 下载地址:
https://github.com/alibaba/Sentinel/releases

注意:要下载Jar包

  1. 在sentinel的jar目录下cmd执行如下命令:
java -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.1.jar

**注意:**根据自己的jar版本号执行命令

  1. 访问Sentinal服务
    默认网址:
http://localhost:8180

默认账户和密码:sentinel
在这里插入图片描述

一. Sentinel限流入门

1. 添加依赖

<!--sentinel依赖,添加了此依赖以后,会在项目中添加一个拦截器对象,这个对象会对
        向此服务发出的请求,进行拦截,拦截到请求以后会与sentinel控制台定义的限流规则进行比对,
        假如在允许范围之内,则继续访问,否则进行限流或降级等操作-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

2.修改配置文件

  1. 在提供方添加配置
spring:
  cloud:
    sentinel:
      transport:
         dashboard: localhost:8180 #这里描述的n是sentinel控制台的地址
	  eager: true #服务启动以后,就会sentinel控制台发送一个心跳消息

3.创建限流操作的Controller对象

  1. 在提供方添加
package com.jt.provider.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/provider")
public class ProviderSentinelController {
   
   
       @GetMapping("/sentinel01")
       p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值