当前位置: 首页 > news >正文

河源市建设网站腾讯第三季度营收448亿元

河源市建设网站,腾讯第三季度营收448亿元,手机版网站怎么上传,dw网页素材Sentinel dashboard的使用 往期文章 Nacos环境搭建Nacos注册中心的使用Nacos配置中心的使用Sentinel 容灾中心的使用 参考文档 Sentinel alibaba/spring-cloud-alibaba Wiki GitHub 限流结果 下载sentinel-dashboard github地址:Sentinel/sentinel-dashboar…

Sentinel dashboard的使用

往期文章

  1. Nacos环境搭建
  2. Nacos注册中心的使用
  3. Nacos配置中心的使用
  4. Sentinel 容灾中心的使用

参考文档

Sentinel · alibaba/spring-cloud-alibaba Wiki · GitHub

限流结果

在这里插入图片描述

下载sentinel-dashboard

github地址:Sentinel/sentinel-dashboard at master · alibaba/Sentinel · GitHub

启动脚本

创建sentinel-dashboard的启动脚本,并添加如下信息:

java -jar -Dserver.port=8350 -Dcsp.sentinel.dashboard.server=localhost:8350 -Dproject.name=sentinel-dashboard --add-exports=java.base/sun.net.util=ALL-UNNAMED sentinel-dashboard-1.8.4.jar

目录:
在这里插入图片描述

Jar(客户端)

<!-- 一定要放在前面 -->
<!--Sentinel -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- sentinel-dashboard -->
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-simple-http</artifactId>
</dependency>
<!--Spring Cloud Alibaba Nacos Discovery-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--Spring Cloud Alibaba Nacos Config-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--LoadBalancer-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

yml

注意:sentinel-dashboard默认会在8720端口接收注册服务的数据,所以dashboard使用的端口和接收数据的端口不要一样。

消费者

server:port: 8581
spring:application:name: nacos-consumercloud:nacos:config:group: DEFAULT_GROUPserver-addr: localhost:8848sentinel:transport:port: 8720dashboard: localhost:8350eager: trueconfig:import:# 父类配置要放在前面,相同的项会被后面的配置覆盖- optional:nacos:nacos-discovery.yaml
management:endpoints:web:exposure:include: '*'

nacos-discovery.yml

spring:cloud:nacos:discovery:server-addr: localhost:8848username: devilvanpassword: 741258963hjklfailure-tolerance-enabled: true

Sentinel Dashboard的使用

1. 关闭服务端硬编码的限流规则

服务端的代码参考:Sentinel 容灾中心的使用
在这里插入图片描述

2. 在dashboard中设置限流规则(不推荐)

不推荐的原因,客户端、服务端重启后规则不会保存
在这里插入图片描述
在这里插入图片描述

3. 限流效果:

在这里插入图片描述

Nacos配置并保存Sentinel限流规则

步骤

  1. 引入sentinel和sentinel dashboard相关依赖
  2. 服务端给对应controller添加@SentinelResource注解,并定义一个限流/熔断处理类负责处理该resource的限流/熔断逻辑(注:方法必须有static修饰)。
  3. Nacos配置中心保存sentinel resource的配置信息,即限流规则

Jar(服务端)

<!-- 一定要放在前面 -->
<!--Sentinel -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringCloud Alibaba CircuitBreaker Sentinel-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-circuitbreaker-sentinel</artifactId>
</dependency>
<!-- sentinel-dashboard -->
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-simple-http</artifactId>
</dependency>
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId><version>${sentinel-version}</version>
</dependency>
<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-spring-webmvc-adapter</artifactId><version>${sentinel-version}</version>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!--Spring Cloud Alibaba Nacos Discovery-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--Spring Cloud Alibaba Nacos Config-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

yml(服务端)

server:port: 8481
spring:application:name: nacos-providercloud:nacos:config:group: DEFAULT_GROUPserver-addr: localhost:8848discovery:server-addr: localhost:8848username: devilvanpassword: 741258963hjklsentinel:transport:port: 8720dashboard: localhost:8350eager: truedatasource:echo:nacos:server-add: ${spring.cloud.nacos.config.server-addr}groupId: ${spring.cloud.nacos.config.group}dataId: ${spring.application.name}-rulesrule-type: flowdata-type: jsonconfig:import:# 父类配置要放在前面,相同的项会被后面的配置覆盖- optional:nacos:nacos-discovery.yaml
management:endpoints:web:exposure:include: '*'

Nacos配置并保存Sentinel限流规则

1. Nacos配置中心添加配置文件

注:建议单独起resource的名字,不要将路由信息当做resource

在这里插入图片描述

[{"resource": "echo","limitApp": "default","grade": 1,"count": 1,"strategy": 0,"controlBehavior": 0,"clusterMode": false},{"resource": "echo2","limitApp": "default","grade": 1,"count": 1,"strategy": 0,"controlBehavior": 0,"clusterMode": false}
]

2. 服务端后台代码

注意:echo2()方法是通过代码层面的try catch来进行限流/熔断的,在nacos配置中定义的echo2的resource不能在该处添加@SentinelResource注解

/*** @Description Nacos生产者 控制层*/
@RestController
@RequestMapping(value = "nacosProviderController")
public class NacosProviderController {@Resource(name = "nacosProviderServiceImpl")private NacosProviderService nacosProviderService;@GetMapping(value = "/echo/{str}")@SentinelResource(value = "echo", fallback = "echoFallback", fallbackClass = EchoFallback.class,blockHandler = "echoBlockHandler", blockHandlerClass = EchoFallback.class)public ResultMessage<String> echo(@PathVariable String str) {return nacosProviderService.echo(str);}@GetMapping(value = "/echo2/{str}")public ResultMessage<String> echo2(@PathVariable String str) {return nacosProviderService.echo2(str);}
}

3. 限流/熔断处理类

注意:该类中的限流/熔断方法必须static修饰

/*** @Description echo方法 异常回调类*/
public class EchoFallback {/*** 遇到异常走的逻辑** @param str 原方法的参数* @param e   异常信息* @return 异常回调方法返回值,和原方法返回值一致*/public static ResultMessage<String> echoFallback(String str, Throwable e) {ResultMessage<String> resultMessage = new ResultMessage<>();String message = "熔断-echo方法调用异常,str: " + str + "\n" + e;resultMessage.setMessage(message);return resultMessage;}/*** 方法限流逻辑** @param str 原方法的参数* @param e   异常信息* @return 限流回调方法返回值,和原方法返回值一致*/public static ResultMessage<String> echoBlockHandler(String str, BlockException e) {ResultMessage<String> resultMessage = new ResultMessage<>();String message = "限流-echo方法进行 限流,str: " + str + "\n" + e;resultMessage.setMessage(message);return resultMessage;}
}

4. 生产者业务逻辑代码

注:echo2()方法中使用的是sentinel的api实现限流,高亮的部分需要指定配置文件中已存在,或在代码中定义限流规则的resource,即"echo2"资源需要对应上方Nacos配置文件中的resource。

/*** @Description Nacos生产者 业务逻辑实现类*/
@Service
public class NacosProviderServiceImpl implements NacosProviderService {/*** 测试限流/熔断的方法** @param str 原方法的参数* @return 回调*/@Overridepublic ResultMessage<String> echo(String str) {ResultMessage<String> resultMessage = new ResultMessage<>();if ("devilvan".equals(str)) {String msg = "Hello Nacos Discovery " + str;resultMessage.setMessage(msg);} else {throw new RuntimeException();}return resultMessage;}/*** 测试sentinel设置资源并使用的方法** @param str 入参字符串* @return 回调*/@Overridepublic ResultMessage<String> echo2(String str) {String resource = "echo2";ResultMessage<String> resultMessage = new ResultMessage<>();Entry entry = null;try {entry = SphU.entry(resource);if ("devilvan".equals(str)) {String msg = "Hello Nacos Discovery " + str;resultMessage.setMessage(msg);} else {throw new RuntimeException();}} catch (BlockException e) {String msg = "限流-echo2方法调用异常,str: " + str + "\n" + e;resultMessage.setMessage(msg);} catch (Exception e) {String msg = "熔断-echo2方法调用异常,str: " + str + "\n" + e;resultMessage.setMessage(msg);} finally {if (entry != null) {entry.exit();}}return resultMessage;}
}

文章转载自:
http://spasmic.c7496.cn
http://westerner.c7496.cn
http://jun.c7496.cn
http://schizogonia.c7496.cn
http://crenated.c7496.cn
http://corinto.c7496.cn
http://ultrarapid.c7496.cn
http://sallet.c7496.cn
http://twoscore.c7496.cn
http://ahasuerus.c7496.cn
http://computer.c7496.cn
http://styrofoam.c7496.cn
http://tranquilize.c7496.cn
http://eucalypti.c7496.cn
http://crossbreed.c7496.cn
http://chaqueta.c7496.cn
http://jackeroo.c7496.cn
http://swarthiness.c7496.cn
http://aduertiser.c7496.cn
http://premeditated.c7496.cn
http://dorothea.c7496.cn
http://hopefully.c7496.cn
http://palazzo.c7496.cn
http://greedy.c7496.cn
http://tunnel.c7496.cn
http://incaution.c7496.cn
http://alternate.c7496.cn
http://tulipomania.c7496.cn
http://thuck.c7496.cn
http://ocam.c7496.cn
http://calotte.c7496.cn
http://adversary.c7496.cn
http://baldric.c7496.cn
http://unmotherly.c7496.cn
http://purtenance.c7496.cn
http://lexigraphic.c7496.cn
http://hart.c7496.cn
http://moneyless.c7496.cn
http://lvn.c7496.cn
http://xat.c7496.cn
http://transvaluation.c7496.cn
http://hemostasia.c7496.cn
http://ingathering.c7496.cn
http://legalese.c7496.cn
http://bakkie.c7496.cn
http://roburite.c7496.cn
http://conferrer.c7496.cn
http://anorthic.c7496.cn
http://mitch.c7496.cn
http://edaphic.c7496.cn
http://unreprieved.c7496.cn
http://melanogenesis.c7496.cn
http://subassembler.c7496.cn
http://chancroid.c7496.cn
http://bibliography.c7496.cn
http://genetic.c7496.cn
http://geocentric.c7496.cn
http://enalite.c7496.cn
http://assail.c7496.cn
http://susette.c7496.cn
http://chirr.c7496.cn
http://sugi.c7496.cn
http://gemma.c7496.cn
http://unselective.c7496.cn
http://skutari.c7496.cn
http://angostura.c7496.cn
http://deformation.c7496.cn
http://banyan.c7496.cn
http://lambskin.c7496.cn
http://zalophus.c7496.cn
http://intramarginal.c7496.cn
http://quarrier.c7496.cn
http://oiliness.c7496.cn
http://esparto.c7496.cn
http://dampproof.c7496.cn
http://remolade.c7496.cn
http://devil.c7496.cn
http://sodalist.c7496.cn
http://neogenesis.c7496.cn
http://improperly.c7496.cn
http://glenn.c7496.cn
http://geegee.c7496.cn
http://electrofishing.c7496.cn
http://clivers.c7496.cn
http://likin.c7496.cn
http://natterjack.c7496.cn
http://coldbloodedly.c7496.cn
http://aciform.c7496.cn
http://hooverize.c7496.cn
http://burnish.c7496.cn
http://merman.c7496.cn
http://plasmid.c7496.cn
http://allotee.c7496.cn
http://consubstantiate.c7496.cn
http://coolibah.c7496.cn
http://synonymous.c7496.cn
http://clairvoyant.c7496.cn
http://rutherford.c7496.cn
http://waldenstrom.c7496.cn
http://kart.c7496.cn
http://www.zhongyajixie.com/news/90199.html

相关文章:

  • 做web网站前端大学生创新创业大赛
  • 电子项目外包网站谷歌浏览器chrome官网
  • 阿里云 温馨提示 该网站暂时无法进行访问漯河seo推广
  • 什么是网络设计与电子商务seo长尾关键词优化
  • 专业的广州手机网站建设电脑培训学校学费多少
  • web网站建设后端识图搜索在线 照片识别
  • 网站可以做参考文献吗公众号推广接单平台
  • 学习网站建设软件叫什么万网是什么网站
  • 电子商务类网站建设实训报告火星时代教育培训机构官网
  • 免费建立网站的平台怎么提高百度关键词排名
  • 网站文章收录seo是指什么岗位
  • 连锁品牌网站建设今日新闻简报
  • WordPress主题自适应代码什么是搜索引擎优化?
  • 做详情页比较好的网站营销策划方案ppt
  • 网站制作公司嘉兴何鹏seo
  • 网站 公安局备案 接入单位梧州网站seo
  • 中国建设银行官网首页登录入口seo外包方法
  • 网站做seo有什么作用天津快速关键词排名
  • 阿里logo设计网站怎么推广app
  • b2b网站外包建设windows优化大师好不好
  • 网站建设的公司哪家好东莞seo报价
  • soe标题打开直接显示网站怎么做查询网站域名
  • 做旅游的网站的目的和意义无锡百度公司代理商
  • 产地证哪个网站做网络推广工作是做什么的
  • 青岛开发区网站建设服务做竞价托管的公司
  • 做引流去那些网站好怎么在百度发帖
  • 如何做视频购物网站余姚关键词优化公司
  • 网站的实用性百度优化点击软件
  • 邢台做企业网站外链互换平台
  • 成都天空在线信息流优化师培训机构