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

创建网站好的平台织梦小说网站模板下载

创建网站好的平台,织梦小说网站模板下载,网络推广的渠道有哪些,开发商建设审批网站文章目录 一、介绍二、演示项目介绍1. 支付服务2. 订单服务 三、项目演示1. 未忽略异常2. 忽略异常修改配置使用注解 四、结论 往期内容 一、skywalking安装教程 二、skywalking全链路追踪 三、skywalking日志收集 一、介绍 在前面介绍在微服务项目中使用skywalking进行全链… 文章目录 一、介绍二、演示项目介绍1. 支付服务2. 订单服务 三、项目演示1. 未忽略异常2. 忽略异常修改配置使用注解 四、结论 往期内容 一、skywalking安装教程 二、skywalking全链路追踪 三、skywalking日志收集 一、介绍 在前面介绍在微服务项目中使用skywalking进行全链路追踪时我们发现当一次请求链路中某个服务出现异常时在skywalking中会将该链路用红色标记为ERROR在异常链路详情中也可以看出是哪个服务出现了异常并可以查看响应的异常信息。如下图所示。 那么有没有办法忽略某个指定的异常呢就是说如果一个请求链路中某个服务抛出了该异常skywalking仍然认为该异常属于正常现象并不会认为它是ERROR。 答案是肯定的。我们往下看。 二、演示项目介绍 项目结构依然参考skywalking安装教程中的演示项目业务流程就是商品服务暴露接口给客户端当客户端调用商品服务接口时商品服务调用订单服务订单服务调用支付服务形成一个包含三个服务的调用链。如下图所示。 1. 支付服务 现在我们定义两个异常SixException 和 SevenException其中SixException 继承 SevenException SevenException继承RuntimeException也就是说我们自定义的两个异常都是运行时异常。结构如下。 当接口接收的参数goodsId为6的倍数时抛出SixException当参数goodsId为7的倍数时则抛出SevenException。如下所示 SevenException Slf4j public class SixException extends SevenException{public SixException(String message) {super(message);} }SixException Slf4j public class SevenException extends RuntimeException{public SevenException(String message) {super(message);} }修改接口 GetMapping(/pay) public Integer pay(RequestParam(goodsId) Integer goodsId) {log.info(支付服务feign接口服务端口号{}, port);log.info(商品id{}, goodsId);if (goodsId % 6 0) {log.error(商品id不允许为6的倍数);throw new SixException(商品id不允许为6的倍数);}if (goodsId % 7 0) {log.error(商品id不允许为7的倍数);throw new SevenException(商品id不允许为7的倍数);}return 0; }添加全局异常处理器 我们将抛出SevenException这个异常的情况定义为正常情况当接口抛出SevenException时通过全局异常处理器捕获该异常然后将接口响应设置为失败即可。 RestControllerAdvice public class GlobalExceptionHandlers {ExceptionHandler(SixException.class)public Integer sixException(SixException e) {return 1;}ExceptionHandler(SevenException.class)public Integer sevenException(SevenException e) {return 1;} }2. 订单服务 在原本的订单服务的接口中有个判断条件为如果商品id为2的倍数则返回。该条件影响我们支付服务中对SixException的测试所以该判断条件删除如下所示 三、项目演示 下面我们按部就班启动微服务项目和skywalking服务并调用商品服务接口分别传入商品id为6和7的参数。 商品id为6 请求如图 日志如图 商品id为7 请求如图 日志如图 1. 未忽略异常 在未忽略异常的情况下skywalking将出现异常的链路以及出现异常的服务均使用红色标记为ERROR。 请求参数商品id分别为6和7的调用链路如下 商品id为6的请求链路 商品id为7的请求链路 2. 忽略异常 有时候抛出异常是控制代码运行的重要方式因此我们需要对这类异常进行忽略。skywalking提供了两种方式修改配置、使用注解。 修改配置 在agent.config配置文件中找到statuscheck.ignored_exceptions对其进行配置当然了配置方式有多种修改配置文件、jvm启动参数、javaagent选项、操作系统环境变量这四种配置方式我们在skywalking安装教程中已经详细介绍过了。这里以修改jvm启动参数为例当需要忽略多个异常时使用逗号“,”分隔。如下所示。 修改完成后重新启动支付服务然后再分别调用商品id为6和商品id为7两个请求得到的调用链路如下 商品id为6的请求链路 商品id为7的请求链路 从截图可以发现当我们在某个服务中忽略指定的异常时skywalking会将出现该异常的服务标记为成功。而且我们忽略的异常明明是SevenException但是当出现SixException时skywalking也会对其进行忽略。 所以得出结论当忽略一个指定的父异常时skywalking会忽略该父异常和它的子异常。 使用注解 skywalking也提供了通过注解的方式来指定一个忽略的异常。 添加依赖 dependencygroupIdorg.apache.skywalking/groupIdartifactIdapm-toolkit-trace/artifactIdversion8.9.0/version /dependency在要忽略的异常上添加注解IgnoredException等同于添加配置statuscheck.ignored_exceptions。 IgnoredException public class SevenException extends RuntimeException{public SevenException(String message) {super(message);} }四、结论 通过给微服务添加statuscheck.ignored_exceptions异常类的限定路径实现在调用链路中忽略指定异常。通过注解IgnoredException指定要忽略的异常但需要添加依赖apm-toolkit-trace。当忽略一个指定的父异常时skywalking会忽略该父异常和它的子异常。 纸上得来终觉浅绝知此事要躬行。 ————————我是万万岁我们下期再见————————
http://www.sadfv.cn/news/231014/

相关文章:

  • 织梦网站 伪静态wordpress主页主题
  • 西安网络运营公司有哪些郑州seo询搜点网络效果佳
  • wordpress 阿里云主机名淘宝网站内搜索引擎优化怎么做
  • 我爱你域名的网站建个网站在哪备案
  • 甘肃省住房与城乡建设部网站南京成旭通网站建设公司怎么样
  • 网站设计公司网站设计公司网站个别页面做seo
  • 黑龙江建设银行交通违法网站网站建设及推广销售话术
  • app制作过程和网站一样吗全球做空现货黄金的网站
  • 网上商城 网站建设 解决方案上海百度研发中心
  • 漳州最具口碑的网站建设济南网站建设公司推荐
  • 湖北网站建设的释义新乡市建设工程信息网
  • 白酒企业网站建设一流的镇江网站建设
  • 如何制作简易个人网站烟台企业展厅设计公司
  • 2345导航网址sem和seo是什么职位
  • 用cms建网站容易吗做企业网站需要多少钱
  • 网站建设与网页设计案例教程互联网营销师培训课程
  • 网站开发会遇到的问题me域名免费注册
  • 怎么做购物型网站天津网站建设美丽
  • 传统门户网站有哪些南阳网站备案
  • 潍坊手机网站制作阿里云手机网站建设多少钱
  • ie 常用网站南京网站制作报价
  • seo网站后台管理广州市住房和建设局网站
  • 帮客户做违法网站违法么我40岁自学cad找到工作了
  • 网站建设及优化重要性一般做网站用什么软件
  • asp网站版权王也扮演者
  • 建设局网站打不开网站资料
  • php源码搭建网站流程还有哪些网站可以做淘宝活动吗
  • 做移动网站优化软件5000做网站
  • 河源盛世网站建设网站模版免费下载
  • 网站开发与设计实验报告总结淘宝客建站教程