就离谱,两年开发经验还不懂sentinel组件

对于sentinel的前置知识这里就不多说了:

对于sentinel的前置知识这里就不多说了:

直接上代码:

Release v1.8.1 · alibaba/Sentinel · GitHub 下载地址

springcloud Alibaba环境下创建soringboot的项目:

POM:

<dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-devtools</artifactId>        <scope>runtime</scope>        <optional>true</optional>    </dependency>    <dependency>        <groupId>org.projectlombok</groupId>        <artifactId>lombok</artifactId>        <optional>true</optional>    </dependency>    <dependency>        <groupId>org.apache.velocity</groupId>        <artifactId>velocity</artifactId>        <version>1.7</version>    </dependency>    <dependency>        <groupId>com.alibaba</groupId>        <artifactId>fastjson</artifactId>        <version>1.2.47</version>    </dependency>    <dependency>        <groupId>com.alibaba.cloud</groupId>        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>    </dependency>    <dependency>        <groupId>com.alibaba.cloud</groupId>        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.cloud</groupId>        <artifactId>spring-cloud-starter-openfeign</artifactId>    </dependency></dependencies>application.yml
server:  port: 8089spring:  application:    name: cloudorder  cloud:    nacos:      discovery:        server-addr: 127.0.0.1:8848    sentinel:      #      eager: true      transport:        port: 8719        dashboard: localhost:8080management:  endpoints:    web:      exposure:        include: "*"feign:  sentinel:    enabled: true
主启动
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.cloud.client.loadbalancer.LoadBalanced;import org.springframework.cloud.openfeign.EnableFeignClients;import org.springframework.context.annotation.Bean;import org.springframework.web.client.RestTemplate;@SpringBootApplication@EnableDiscoveryClient@EnableFeignClientspublic class OrderApplication8088 {    public static void main(String[] args) {        SpringApplication.run(OrderApplication8088.class,args);    }    @Bean    @LoadBalanced    public RestTemplate getRestTemplate(){        return new RestTemplate();    }}
写一个controller接口就可以了:
@RequestMapping("/order")public String test1(@RequestParam(name = "id")String id){    return UUID.randomUUID().toString()+ "     id  :"+ id;}
先启动nacos注册中心,再启动sentinel的检测服务,本次用的是1.8.1的版本:java -jar sentinel-dashboard-1.8.1.jar 就可以启动服务了再启动我们的springboot服务访问 localhost:8080就是sentinel的服务界面了 可以在上面配置服务的限流和降级的配置,以及热点key的配置
 @RequestMapping("/getFeign")    @SentinelResource(value = "getFeign",blockHandler = "demotionGetFeign",fallback = "deGetFeign")    public String getFeign(@RequestParam(name = "id",required = false,defaultValue = "5")String id)  {//        int i = 10/0;        return "eeee           eee  "+proFeign.provide(id);    }
public String demotionGetFeign(String id, BlockException ex){    return id+"  服务降级了啊。。。o(╥﹏╥)o"+ex;}public String deGetFeign(String id){    return "限流了啊。。。。o(╥﹏╥)o";}
@SentinelResource(value = "getFeign",blockHandler = "demotionGetFeign",fallback = "deGetFeign")
说一下这个注解就是配置接口出现异常 或者限流后应该怎么处理:
blockHandler 这个属性是在sentinel控制台配置的规则出现问题的时候会作出相应的处理方案
fallback 这个是兜底的方法了 代码出现异常 或者其他问题就会走这个方法了需要注意的是
blockHandler 的降级方法的返回值和参数要和原来的方法一样,同时要加上
BlockException ex属性,代表出现异常后的信息至于sentinel界面的配置就不多说了 可以看看官网写的sentinel的持久化配置:

步骤:

  • 添加pom
<dependency>    <groupId>com.alibaba.csp</groupId>    <artifactId>sentinel-datasource-nacos</artifactId></dependency>
  • 配置yml
spring:  application:    name: sentinel-service  cloud:    nacos:      discovery:        #nacos服务注册中心地址        server-addr: www.cjlly.com:8848    sentinel:      transport:        dashboard: 127.0.0.1:8080        port: 8719      datasource:        ds1:          nacos:            server-addr: www.cjlly.com:8848            dataId: sentinel-service            groupId: DEFAULT_GROUP            data-type: json            rule_type: flow
  • 登陆nacos,新建配置规则sentinel-service
[{"resource": "/findById","limitApp":"default","grade":1,"count":1,"strategy":0,"controlBehavior":0,"clusterMode":false}]

naocs配置解读:

需要注意地方:

  • 此时如果是Nacos集群,每个节点务必要配置到同一个数据库上。并且保证每个
    节点都可用。如果有的节点宕掉了可能会导致配置持久化失败。
  • 部署在nacos上的配置文件的名字并没有太多要求,只需要跟微服务项目中yml文件中配置的dataId一致即可。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/63063.html

(0)

相关推荐

  • 小儿感冒引起的急性中耳炎,急性化脓性中耳炎及乳突炎多见于儿童的原因

    对于儿童的发热,大部分是上呼吸道感染或者是肺炎导致的,但是有时候孩子明明没有感冒咳嗽的问题,却反复的发热。去儿科看了几次医生,也开了药,但就是仍有反复的发热,原因儿科医生也说不清楚。最近耳鼻喉郑立岗医生就见到这样一位患儿,反复的发热,找不到原因,慕名找到耳鼻喉郑立岗医生让我看看是不是耳鼻喉方面的疾病,一检查原来是急性中耳炎乳突炎导致的反复发热。

    生活 2021年10月28日
  • WiFi名字后边的5G是指什么?

    有些家里可能会有两个同样名字的 WiFi,而其中一个名字的最后有个 5G,那么,这个 5G 和常说的 5G 信号是一回事吗?并不是,无线路由器上的 5G 指的是 WiFi 的工作频段,手机上的 5G 指的是第五代蜂窝网络技术标准。与普通的 2.4G 频段相比,无线路由器上的 5G 频段的频宽更宽,如果宽带够快,那么就可以有更好的网络体验。但是 5G 频段的覆盖范围要比 2.4G 频段小一些,穿墙能力也要弱一些。

    科技 2021年11月21日
  • 准妈妈被老板拒绝买辣条。怀孕后经历了多少温暖的思念?

    文章为糖果妈妈原创,欢迎个人转发分享

    生活 2021年12月3日
  • 信息通信产业,国内通信运营商,针对国内通信手机市场

    (报告出品方/作者:民生证券,马天诣)

    科技 2021年10月26日
  • 气虚为什么发热,气虚发热和阳虚发热的区别

    谈谈气虚发热:陈博士按,临床我见到很多的气血虚弱而导致发热的患者,从中医角度来说这种患者发热的根本原因就是气血虚弱,对于这种发热,一般采用补中益气汤或类似方法进行补益就行了;我们要有一双中医的眼睛来看待发热,其实治疗起来也不是那么困难!举个例子,有很多癌症晚期的患者出现高热,很多时候是因为身体损耗太重,气血虚弱导致;难道这个时候就使用各种抗生素来治疗?我有几个这样的患者,怎么使用抗生素都治不了!但是这个时候补益一下,也许发热就退了!但是补益的时候是不是要蛮补?显然不是,使用补益的中药有很多技巧的,不掌握这些技巧,也达不到很好的效果;结合上世纪名中医彭履祥教授的医案展开说明我的观点;案例:马某,女,41岁,工人;反复发热、心悸、失眠20余年,于79年3月8目初诊∶20多年来,不时发热,体温最高可达40C°常经阵阵心悸,失眠多梦,脘腹胀痛,大便稀溏,月经错乱,量多。多方检查,除"阵发性心动过速"外,余无异常。察其舌淡,苔白薄,脉弦细。据诸脉征,诊为脾胃气虚,中气下陷厥阴,以致肝胃失调。治宜升阳益胃,仿补中益气汤∶泡参、山药、黄芪、当归、柴胡、白芍、葛根、陈皮、茯苓、谷芽、甘草;二诊∶服上方7剂,两周未发热,心律不齐次数减少,唯睡眠少而梦多。以逍遥散加牡蛎,理脾开郁和中。三诊∶服上方4剂,心悸每日只发作一次,惟腹胀痛不适。仍宗前法,调整如下∶山药、乌梅、白芍、谷芽、苡仁、茯苓、陈皮、莱菔头、沙参、豆卷;四诊∶服上方10剂诸证消失,睡眠好转,前方去莱菔头继服,巩固疗效。发热起因较多,此案反复发热20多年,兼之心悸失眠,月经不调等证,为气血俱虚人所共知,但久服补益之剂不效的原因何在?盖中气不足,清阳不升,下陷厥阴,致厥阴肝失其疏泄,不能内寄相火,此种发热,心悸,月事不调诸般见证,若只嗜补益,必愈补愈陷愈郁,致使迁延不愈。于补中益气汤中佐以白芍。即寓逍遥于其中。使中气得复,肝郁得疏,相火藏而营卫和,20年发热岂不愈乎。免责声明:文中如有涉及到治疗或者保健方法仅供参考,若有朋友需要使用,请咨询专业医师后使用,本人不承担相关责任。本人在微信群和朋友圈及其他渠道所发相关帖子欢迎转载;如有侵权,请联系删除。

    生活 2021年10月25日
  • 长时间喝牛奶的学生不会长高,还会导致身体“停止发育”。家长要注意。

    出生在现在年代下的孩子可以说是非常幸福的了,吃穿都不用愁,无非就是很关注健康以及安全方面的问题,对孩子在身体健康方面上家长十分注意。

    生活 2021年11月28日