解决方案:如何使用 SkyWalking 给 Dubbo 服务做链路追踪?

优采云 发布时间: 2022-11-22 09:18

  解决方案:如何使用 SkyWalking 给 Dubbo 服务做链路追踪?

  Skywalking监控截图:

  Apache Skywalking(孵化器)简介

  Apache Skywalking (Incubator) 专为微服务架构和云原生架构系统设计,支持分布式链路跟踪APM系统。Apache Skywalking(孵化器)通过加载探针采集

应用调用链接信息,对采集

到的调用链接信息进行分析,生成应用间关系、服务间关系和服务指标。Apache Skywalking (Incubating) 目前支持多种语言,包括 Java、.Net Core、Node.js 和 Go 语言。

  目前Skywalking已经支持从6个可视化维度分析分布式系统的运行情况。

  Dubbo与Apache Skywalking(孵化器)编写Dubbo示例程序

  Dubbo示例程序已经上传到Github仓库。方便大家下载使用。

  API工程

  服务接口:

  package org.apache.skywalking.demo.interfaces;<br /><br />public interface HelloService {<br />    String sayHello(String name);<br />}<br />

  Dubbo服务提供项目

  package org.apache.skywalking.demo.provider;<br /><br />@Service(version = "${demo.service.version}",<br />    application = "${dubbo.application.id}",<br />    protocol = "${dubbo.protocol.id}",<br />    registry = "${dubbo.registry.id}", timeout = 60000)<br />public class HelloServiceImpl implements HelloService {<br /><br />    public String sayHello(String name) {<br />        LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));<br />        return "Hello, " + name;<br />    }<br /><br />}<br />

  消费者工程

  package org.apache.skywalking.demo.consumer;<br /><br />@RestController<br />public class ConsumerController {<br /><br />    private static int COUNT = 0;<br /><br />    @Reference(version = "${demo.service.version}",<br />        application = "${dubbo.application.id}",<br />        url = "dubbo://localhost:20880", timeout = 60000)<br />    private HelloService helloService;<br /><br />    @GetMapping("/sayHello/{name}")<br />    public String sayHello(@PathVariable(name = "name") String name) {<br />        if ((COUNT++) % 3 == 0){<br />            throw new RuntimeException();<br />        }<br />        LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));<br />        return helloService.sayHello(name);<br />    }<br />}<br />

  部署 Apache Skywalking(孵化器)

  Apache Skywalking(孵化器)提供两种部署模式:单节点模式和集群模式。以下是单节点模式部署步骤。有关集群模式部署的详细信息,请参阅文档。

  依赖第三方组件

  JDK8+

  弹性搜索 5.x

  部署步骤

  下载 Apache Skywalking 采集

  部署弹性搜索

  解压缩并启动 Skywalking Collector。运行 bin/startup.sh 命令启动 Skywalking Collector

  启动示例程序

  在启动示例程序之前,先执行编译打包命令:

  

" />

  ./mvnw clean package<br />

  启动服务提供者

  java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar<br />

  启动服务消费者

  java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar <br />

  获得消费者提供的服务

  curl http://localhost:8080/sayHello/test<br />

  Skywalking监控截图:首页

  /admin-guide/images/skywalking-dashboard.png 拓扑图

  /admin-guide/images/skywalking-topology.png 应用视图

  /admin-guide/images/skywalking-application.png

  JVM信息

  /admin-guide/images/skywalking-application_instance.png 服务视图

  服务消费者:

  /admin-guide/images/skywalking-service-consumer.png

  服务提供者:

  /admin-guide/images/skywalking-service-provider.png 跟踪视图

  /admin-guide/images/skywalking-trace.png

  

" />

  跨度信息:

  /admin-guide/images/skywalking-span-Info.png 报警视图

  /admin-guide/images/skywalking-alarm.png

  欢迎加入我的知识星球,一起探讨架构,交流源码。要加入,请按住下面的二维码:

  知识星球上已更新源码,分析如下:

  目前,《Dubbo源码解析》目录已在知识星球更新如下:

  01.调试环境搭建

  02.项目结构一览

  03.配置配置

  04.核心流程清单

  05.扩展机制SPI

  06.线程池

  07.服务暴露Export

  08. 服务参考 Refer

  09.注册处

  10.动态编译

  11. 动态代理

  12.服务调用Invoke

  13.调用属性

  14.过滤器

  15.NIO 服务器

  16.P2P服务器

  解决方案:OZON平台产品审核不通过原因及产品上传常见错误

  OZON官方有两种方式:单次上传和表单批量上传。上传后需要审核,目前是人工审核。很多卖家反映商品上传后“拒绝更新”,即商品审核不通过。是什么原因?

  首先,确保您的产品或品牌可以在OZON上销售或不受限制。

  二、首次上传填写商品信息前,一定要逐项查看填写的提示,并查看平台买家端的listing,可以有效避免出现明显错误。

  

" />

  三、卖家上传图片错误较多。上传前,他还查看了官方知识库中给出的详细上传图片要求。

  以下是根据采集

到的买家反馈和实践经验总结的产品上传常见错误列表:

  1.产品图片:图片底色偏暗或杂乱。上传的时候主图最好是无价的白底图(灰底图也可以),白色的东西可以深色,总之一定要干净整洁,尤其是主图,尺寸等信息不应该出现在图片中,只展示商品的全部内容,也应该整体展示,而不是只展示商品的一部分。对于服装,主要图片应显示在正面。

  2. 多SKU:一个产品只能上传一个SKU。主副图颜色必须与SKU数量一致,同一商品不能出现多个SKU。请注意,这是一个严重的问题。

  

" />

  3.商品分类:上传商品时商品分类选择有问题,分类不确定。建议在买家网站上搜索并确认产品类别后再进行选择。

  4、品牌问题:选择没有品牌的产品,但在产品栏目、图片或说明中显示品牌信息,或产品品牌信息不一致。

  5.产品描述:描述太短,尺寸大小不对,收录

广告信息。

  最后,如果产品已上传但未通过审核,将鼠标移到提醒编号上,系统通常会显示失败原因。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线