springCloud-Feign 整合 sentinel最基本入门Demo-2,接入到sintinel web控制台,并以控制台方式配置限流规则

news/2025/5/25 16:05:09

前提:SpringCloud-Feign消费者调用生产者,工程环境可参考如下博文
https://blog.csdn.net/qq_41712271/article/details/104757725

假如需求:订单服务 调用 产品服务

1 在 订单工程 的项目中,添加依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

2 修改 订单工程 的 application.yml文件,设置控制台地址和开启sentinel对feign的支持

spring:application:name: huawei-order-servicecloud:sentinel:transport:# 配置Sentinel 控制台 地址dashboard: 127.0.0.1:8850# 应用与Sentinel控制台交互的端口,应用本地会起一个该端口占用的HttpServer# 默认8719端口,假如端口被占用,依次+1,直到找到未被占用端口port: 8720# 开启sentinel对feign的支持
feign:sentinel:enabled: true

3 在 订单工程 的项目中,添加流控降级的回调类,被降级就执行这里

package cn.huawei.service;
import cn.huawei.domain.Video;
import cn.huawei.interfaces.OpenFeignClientTest_order;
import org.springframework.stereotype.Component;@Component
public class FallBackService  implements OpenFeignClientTest_order {@Overridepublic Video findById_diao(int videoId) {return new Video("haha","haha","haha",0,null,0D,"haha");}@Overridepublic int save_diao(Video video) {return -1;}
}

4 在 订单工程 的项目中,修改 Feign接口调用,在 @FeignClient(fallback=xxx),如下
注意:注释的位置,故意换种写法,否则报错 Ambiguous mapping. Cannot map,可能是sentinel的bug

package cn.huawei.interfaces;
import cn.huawei.domain.Video;
import cn.huawei.service.FallBackService;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;@FeignClient(value = "huawei-video-service",fallback = FallBackService.class)
//@RequestMapping("api/v1/video")
public interface OpenFeignClientTest_order {@RequestMapping("api/v1/video/find_by_id")//@RequestMapping("find_by_id")Video findById_diao(@RequestParam("videoId") int videoId);@PostMapping("api/v1/video/save")//@PostMapping("save")int save_diao(@RequestBody Video video);
}

5 打开 sentinel的控制台,添加 流控降级规则
注意:资源名书写的技巧,直接打开簇点链路,或是
打开 sentinel的日志,(项目启动后看idea的输出,这里为 C:\Users\need\logs\csp),copy过来

6 访问 订单工程 controller,开始测试 

另外需要注意1 订单工程 和 sentinel控制台 最好要在一个机器上,否则控制台添加规则会报错,解决方法,自行解决
                            2 就算在控制台不配置流控规则,如果 feign调用超时,也会走 被降级的方法

                               https://blog.csdn.net/qq_41712271/article/details/104759808104759808


https://dhexx.cn/news/show-17307.html

相关文章

ubuntu15.04 安裝hadoop2.6.0 及eclipse开发环境配置

本文基本按照kinglau的方法安装, 在此表示感谢. 附主要参考的三篇文章 http://www.cnblogs.com/kinglau/p/3794433.html 单机模式安装 http://www.cnblogs.com/kinglau/p/3796164.html 伪分布式安装 http://www.cnblogs.com/kinglau/p/3802705.html eclipse开发环境配置…

饭可以乱吃,有些英语却不能乱说!

Sporting house 妓院&#xff08;不是体育室&#xff09; Dead president 美钞&#xff08;不是死了的总统&#xff09; Lover 情人&#xff08;不是爱人&#xff09; Busboy 餐馆勤杂工&#xff08;不是公汽售票员&#xff09; Busybody 爱管闲事的人&#xff08;不是大忙人&a…

spring-cloud-stream 整合rabbitmq 入门Demo-1

本Demo的spring boot 版本为 2.2.4.RELEASE &#xff0c;Rabbitmq的版本3.8.2生产者&#xff0c;消费者工程 添加依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-stream-binder-rabbit</artifactId>&…

如何高效快捷检索得到核心文献?

转载于:https://www.cnblogs.com/yymn/p/4556948.html

FetchProfile类的作用

转自 http://wangxinlong889.blog.163.com/blog/static/1285574182010102425128501/ javax.mail.FetchProfile类的应用。FetchProfile类提供邮件协议提供者特有可选参数&#xff0c;其目的是更有效地实现邮件组成成 分的预提取。Java Mail API鼓励延迟提取邮件成分——即仅在真…

spring-cloud-stream 整合rabbitmq 入门Demo-2 自定义消息通道

默认的消息通道(Source.java和Sink.java)&#xff0c;只能发消息或只能收消息&#xff0c;如果需要自定义&#xff0c;又可以发&#xff0c;又可以收&#xff0c;就需要自定义消息通道 在以下项目中改动修改https://blog.csdn.net/qq_41712271/article/details/118189305 生产…

基于Elman神经网络预测计费系统的输出(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 简单循环网络&#xff08;simple recurrent networks&#xff0c;简称SRN&#xff09;又称为Elman network&#xff0c;是由Jeff…

spring-cloud-stream 整合rabbitmq 自定义消息通道 短信邮件发送案例 既是生产者 也是消费者

本Demo源码下载地址 https://download.csdn.net/download/qq_41712271/19848702 发送 10086|10086qq.com,以|拆分&#xff0c;再分别消费 10086 和 10086qq.com 案例流程示意图 一个通道&#xff0c;既是生产者&#xff0c;也是消费者 前提&#xff0c;掌握以下知识点&#xf…

【提高工作效率】快速启动小工具

一、工作中经常会遇到为找一个文件&#xff0c;盯着电脑图标&#xff0c;或双击文件夹查找很久的情况&#xff0c;经常遇到这样的事情&#xff0c;所消耗的时间累计也是挺多的。为了避免这类情况&#xff0c;能不能有一个软件能够快速去定位到我们需要打开的文件&#xff1f;答…

Js获取当前日期时间及其它操作

var myDate new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //…