微服务的最后一个组件,
调用链监控,一个请求进来以后,经过N多个微服务,例如a调用了b。b又调用了c,那么在这个过程中看到,整个的调用的链路,然后每一段调用所耗费的时间,帮你去分析你的系统如果出现瓶颈以后,瓶颈到底在什么地方。
pinpoint
点击看一下在线的demo
提供的一些应用的列表
选择order。这张图就是order这个服务的调用图。
出去调用的一层,分别调用了product和payment还有mysql数据库
outbound选择两层的话 图就会刷新。每一个箭头上都有数字,数字就是调用的次数。
请求的分布,绿点是请求成功的
鼠标框选这些时间比较长的请求
跳转到页面,把你选择的请求列出来。
选中一条记录,下面就列出来,详细点的调用链。
当前这次请求,也就是选中的这条记录 的,调用情况
timeline每一步请求,所占用的时间
混合视图
所有看到的信息整合到一起。可以很清楚的借助这样一个工具来分析你的链路。
inspector
服务器内存的使用情况
整合pinpoint
找到官方提供的docker的环境
docker的compose配置文件。
把这个项目克隆到本地
克隆到本地 需要的所有组件都装好了
启动docker环境。
访问端口8079
接入应用
不需要写代码就可以接入pinpoint,其他的方案都需要代码侵入。
下载解压出来。有个pinpoint.config文件。
这个指的就是pinpoint服务器的ip,如果服务器在远端,就要写服务器的地址。
采样率,当你收到请求的时候,是不是把请求信息发给pinpoint。这里配置1表示100%,所有的请求都会发给pinpoint。这样数据量就会非常大。有些情况下,可能不需要所有的请求,都需要pinpoint。只需要知道服务大概的请款就可以了。
当前采样,应用的服务器的类型是什么
默认配置的是tomcat。这里改成Spring_Boot
一会要借入UserApi的类
找到下面Spring_Boot的关剪子,所以把用户服务的包名配置到这里。
UserAPI里面有main函数,你用main函数启动的时候,它就会拦截你启动的这个应用里面,收到的所有请求。
UserAPi的修改
告诉UserAPI启动的时候 要用代理来启动。
加上启动参数
网站上有写怎么配置启动
指定这个jar包
代理jar包的位置。
第二个参数和第三个参数。
配置好以后 就可以启动
访问请求。因为服务现在是通过pinpoint代理启动起来的。所有发往userapi的请求都会被拦截。
刷新。这里多了个应用SpringBoot类型的APi
实际上调用的获取用户详情的查询。每次调用都会查询数据库。
可以看到执行的SQL
以上就是pinPoint的基本使用。
结束