当前位置 : 主页 > 编程语言 > python >

skywalking链路追踪在微服务架构中的使用

来源:互联网 收集:自由互联 发布时间:2023-03-22
场景 链路追踪 随着微服务分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如分布式服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。

场景

链路追踪

随着微服务分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如分布式服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。在服务能力提升的同时,复杂的网络结构也使问题定位更加困难。在一个请求在经过诸多服务过程中,出现了某一个调用失败的情况,查询具体的异常由哪一个服务引起的就变得十分抓狂,问题定位和处理效率是也会非常低。

分布式链路追踪就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。

在上面搭建起来微服务的架构之后,怎样实现链路追踪。

skywalking

SkyWalking是一个可观测性分析平台(Observability Analysis Platform 简称OAP)和应用性能管理系统(Application Performance Management 简称 APM)。提供分布式链路追踪,服务网格(Service Mesh)遥测分析,度量(Metric)聚合和可视化一体化解决方案。

注:

​​ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。

实现

skywalking下载地址

​​http://skywalking.apache.org/downloads/​​

选择apm下载

 

skywalking链路追踪在微服务架构中的使用_链路

这里是Windows版本,点击Distribution下的合适版本

 

skywalking链路追踪在微服务架构中的使用_apache_02

这里点击8.4.0下的tar包下载,下载后解压找到bin目录下,在Windows下双击startup.bat直接启动

会启动两个项目,一个是收集器,一个是web项目

 

skywalking链路追踪在微服务架构中的使用_微服务_03

打开浏览器访问

​​http://localhost:8080/​​

 

skywalking链路追踪在微服务架构中的使用_skywalking_04

可以看到启动成功

然后使用IDEA打开微服务项目,在每个服务的启动类中配置vm

 

skywalking链路追踪在微服务架构中的使用_微服务_05

这里以网关为例,在VM options下面添加如下内容

-javaagent:D:\Software\apache-skywalking-apm-es7-8.4.0\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar-Dskywalking.agent.service_name=ruoyi-gateway-Dskywalking.collector.backend_service=localhost:11800

注意:

javaagent 是配置skywalking-agent.jar的地址

service_name 是配置需要监控的服务名

backend_service 是收集器服务的地址

这里在网关服务下进行了vm配置,其他需要做链路追踪的服务下的启动类也要配置。

然后启动各个服务的启动类

 

skywalking链路追踪在微服务架构中的使用_微服务_06

就可以在拓扑图中看到链路追踪了,然后调用下某个接口,那么这个接口所需的服务就会在追踪中被显示

skywalking链路追踪在微服务架构中的使用_链路_07

 

 

网友评论