dubbo集成sentinel springboot Controller集成sentine
1.首先项目确认版本 如下配置
也可以看下http://www.apple-dina.com/view/135 这里的推荐依赖关系,要是自己配置的话可能会有各种jar包的问题
dubbo是2.7.8
sentinel 是1.8.0
springcloud 是Hoxton.SR9
springboot 是2.3.2.RELEASE
springcloudalibaba 是 2.2.5 RELEASE
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR9</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.5.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> </dependencies> </dependencyManagement>
2.两种项目配置
一、dubbo项目 -- 针对dubboservice
pom.xml依赖添加
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-apache-dubbo-adapter</artifactId> </dependency>
spring-cloud-starter-alibaba-sentinel sentinel集成 sentinel-apache-dubbo-adapter 推送dubbo信息
application.yml配置
spring: application: name: sdnro-stock profiles: include: service cloud: sentinel: transport: dashboard: 192.168.0.81:18000 指定dashboard服务 heartbeat-interval-ms: 500 eager: true
二、web项目 -- 针对controller
pom.xml
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-transport-simple-http</artifactId> </dependency> <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-annotation-aspectj</artifactId> </dependency>
sentinel-transport-simple-http 普通http请求发送dashboard sentinel-annotation-aspectj 注解支持
添加aop
@Configuration public class SentinelAspectConfig { @Bean public SentinelResourceAspect sentinelResourceAspect() { return new SentinelResourceAspect(); } }
application.yml
spring: application: name: sdnro-web cloud: nacos: discovery: server-addr: 192.168.0.80:8848 sentinel: transport: dashboard: 192.168.0.81:18000 heartbeat-interval-ms: 500 port: 8719 -- 与dashboard通信接口 这里可以不指定默认8719 eager: true
controller上 添加注解
如下,也会注册自定义资源到sentinel上,并且使用fallback可以指定熔断与限流的处理
当然此时sentinel 上会显示两条
一个是test 一个是/create 会重复
@SentinelResource(value = "test",fallback = "xxx") @PostMapping("/create") public String createOrder() { 。。。。。 }
此篇文章就不多说了,还可以根据sentinel抛出的blockException做各种处理
乐享:知识积累,快乐无限。