sentinel简单使用

核心demo:

1 引入依赖:

复制代码
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-core</artifactId>
    <version>1.8.0</version>
</dependency>

2  核心代码:

3 限流保护代码:

以上就是sentinel最核心的代码使用逻辑。可以在代码中硬编码需要保护的资源,然后在调用资源之前使用Api做限流保护。

在实际使用过程中,几乎不会使用如上方式做资源保护:代码侵入性强,不能动态扩展需要保护的资源

使用注解完成资源定义(springboot中):

1 引入依赖:

复制代码
<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-core</artifactId>
    <version>1.8.0</version>
</dependency>

2 核心代码:

使用注解可以减少代码的侵入性,但是不能动态的扩展(限流规则还是需要硬编码提前处理)

springboot + sentinel + sentinel dashboard

1 下载sentinel dashboard jar包

sentinel-dashboard-1.8.0.jar(当然也可以通过docker下载镜像启动)

2 添加启动参数完成dashbaord的启动

-Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port=8719

其中:server.port=8719 表示dashbaord的http端口号

-Dcsp.sentinel.dashboard.server=localhost:8718 表示dashboard把自己本身也注册到dashboard上显示

-Dproject.name=sentinel-dashboard 显示的项目名称

-Dcsp.sentinel.api.port=8719 客户端通信端口

3 sprongboot应用中连接到sentinel dashboard上

a 依赖

b 添加启动命令

-Dcsp.sentinel.dashboard.server=192.168.56.102:8858 ---dashbaord地址

-Dproject.name=webDemo2 ---客户端限制名称

-Dcsp.sentinel.api.port=8719 ---通信端口号

c 配置:

复制代码
        

d 通过调用接口:http://localhost:8112/getStr

此时可以在dashboard的仪表盘上看到接入的应用了:

在spring cloud中的应用接入:

1 依赖:

2 配置

添加如上依赖和配置之后,无需额外配置就可在dashboard上看到相关的应用信息

至于:sentinel核心代码的源码分析和dashboard通信机制在后面的源码分析会补上

相关推荐
lllsure21 小时前
Alibaba Sentinel
微服务·sentinel
梵得儿SHI2 天前
SpringCloud 核心组件精讲:Sentinel 熔断限流全攻略-流量控制、熔断降级、热点参数限流(含 Dashboard 部署 + 项目集成实操)
java·spring cloud·sentinel·熔断降级·热点参数限流·微服务流量控制
oMcLin2 天前
如何在 RHEL 8 服务器上配置并调优 Redis Sentinel 高可用集群,确保数据一致性
服务器·redis·sentinel
机灵猫6 天前
守卫系统的最后一道防线:深入 Sentinel 限流降级与熔断机制(对比 Hystrix)
java·hystrix·sentinel
weixin_439706256 天前
spring boot+nacos+gateway+sentinel的简单例子
spring boot·gateway·sentinel
墨白曦煜8 天前
微服务容错设计:Sentinel 全局异常处理与 Feign 降级策略的边界权衡
微服务·架构·sentinel
没有bug.的程序员8 天前
Spring Cloud Gateway 架构与执行流程:从原理到性能优化的深度探索
微服务·云原生·eureka·性能优化·架构·sentinel·服务发现
杜子不疼.8 天前
Spring Cloud 微服务实战:Nacos+Sentinel+Gateway 核心组件详解
spring cloud·微服务·sentinel
enjoy编程10 天前
Spring Boot 4 如何使用Sentinel进行限流-II【基于Sentinel Spring MVC Adapter实现】
spring boot·spring·sentinel·服务限流·webmvc·servlet 6.x
没有bug.的程序员10 天前
Sentinel 流控原理深度解析:构建高可用微服务的底层架构
java·算法·微服务·云原生·架构·sentinel·负载均衡