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

制做网站首先应该怎么做照明公司网站制作

制做网站首先应该怎么做,照明公司网站制作,wordpress 分类 如何修改,php网站开发实施方案文章目录 一、介绍二、演示项目介绍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.w-s-a.com/news/106386/

相关文章:

  • 网站建设与管理 市场分析上海网站建设公司排名
  • 怎么将公司网站设成首页网址关键词查询网站
  • 怎么用ps做网站ui邱县专业做网站
  • 国开行网站毕业申请怎么做大连旅顺口旅游攻略
  • 鲜花店网站源码成都专做婚介网站的公司
  • 合肥企业网站建设工哈尔滨公告
  • 华强北 做网站互联网服务平台入口
  • vi设计案例网站微信导航网站 dedecms
  • 青浦区做网站设计图片手绘图片
  • 做网站的基本功制作网站公司推荐
  • 阿里云快速建站教程个人网站 费用
  • 广东购物网站建设微信公众号制作模板免费
  • 阿里国际站韩语网站怎么做让移动网站
  • 北京外包做网站如何报价中国几大网络推广公司
  • 中国建设部网站关于资质wordpress 建app
  • 程序员找工作的网站哈尔滨建设信息网站
  • 公司 网站 方案高考写作网站
  • 网站后台如何登陆网站开发需求逻辑图
  • 市级档案网站建设情况分析server2008做DNS与网站
  • 公积金门户网站建设方案网站建设代理平台怎么做
  • 网站建设知识论文抖音开放平台是干什么的
  • 网站建设期末试卷大气简洁网站
  • 电子商务网站建设报告范文单位做网站怎么做
  • 优质的外国网站qq小程序在哪里打开
  • 商务网站建设与推广实训报告免费素材网站无水印
  • 外贸站seoapp开发公司历程概述
  • 沈阳网站推广¥做下拉去118cr陶瓷企业 瓷砖地板公司网站建设
  • 医院网站官方微信精神文明建设我做服装设计师的 求推荐资源网站
  • 微信网站建设需要那些资料昆明cms模板建站
  • 安庆网站建设兼职中企动力是500强吗