|微服务平台之全链路追踪( 三 )
本文插图
再添加两个springboot项目 , 一个订单服务 , 一个产品服务
本文插图
由于服务需要注册到注册中心 , 因此两个项目需要添加依赖
本文插图
并添加配置信息
本文插图
并且订单服务需要调用产品服务的方法 , 在demo中我们使用feign的方式进行服务调用 , 因此在订单服务项目中需要添加依赖
本文插图
由于是demo , 因此我们服务中的方法就简单通过返回字符串的方式实现 。
至此我们启动两个微服务应用 , 可以在注册中心中看到两个服务都已经注册上来 , 再通过浏览器请求订单服务的接口 , 可以看到后端通过调用产品服务的接口 , 并返回信息 。
本文插图
到目前为止 , 我们只是构建好了微服务应用 , 对应链路追踪功能还没有实现 , 其实在微服务架构下实现链路追踪很简单 , 毕竟有很多开源的组件封装了底层实现原理 , 我们只需要引用这些组件就可以实现链路追踪功能 , 在demo中我通过skywalking来进行链路追踪 , 由于skywalking本身的特性无需代码侵入 , 只需要以探针的方式启动微服务应用即可 。 并自动采集服务调用的相关信息 , 写入数据库 , 然后通过自带的dashboard查看相关信息 。
首先我们先下载skywalking
本文插图
其中 , agent目录是应用启动时用的代理 , bin目录是skywalking后端服务和dashboard , 在bin目录执行startup.bat文件 , 启动服务 。
在订单服务和产品服务的项目启动配置中 , 加上jvm参数 , 以探针方式启动2个服务应用
本文插图
启动后 , 我们可以通过skywalking自带的dashboard查看信息 。
本文插图
可以看到请求的链路情况 , 以及每个路径上的处理时间 , 总的响应时间等信息 。
还有一个目标就是 , 如何将链路跟我们实际的日志记录进行绑定 , 这样方便在某个链路出现问题时 , 我们可以针对这个具体的链路去查看具体问题原因 。
在demo中 , 我们通过logback记录日志 , 添加依赖
本文插图
目前很多的链路追踪组件都已经实现了与日志组件的集成 , 只需要引入依赖 , 即可完成将链路traceid对应写入到日志中 。
本文插图
本文插图
在代码中加入写日志的代码
本文插图
增加配置信息 , 以及logback-spring.xml文件
推荐阅读
- 行业互联网|海峡出版发行公共数据服务平台通过项目终验评审
- 男性|百合佳缘吴琳光:要打造“一生一世”全方位情感服务平台
- 河狸|美业服务平台河狸家获得阿里战略投资数亿元
- 阿里|美业服务平台河狸家获得阿里战略投资数亿元
- 营销|短视频整合营销服务平台“星榜互动”完成1000万美元A+轮融资
- 平台|设计创意营销企业服务平台“特赞”获红杉领投数千万美元C1轮融资
- 极客公园|两年成为居住服务平台第一股,贝壳做对了什么
- 行业互联网|科蓝软件生态金融服务平台获华为开发者大会河南赛区A赛道一等奖
- 科学|“行云二号”成功验证星间激光链路技术 我国卫星物联网实现星间通信零的突破
- 阿里巴巴|阿里妈妈营销矩阵升级全链路数字化成新趋势
