1:调用链路技术汇总
链路追踪技术汇总 SkyWalking,CAT Zipkin,Pinpoint。
推荐:SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。
特点是支持多种插件,UI功能较强,接入端无代码侵入。
注意:SkyWalking对于性能还是由百分之10左右的影响的
推荐在测试环境或者预发布环境使用(注意SayWalking的实时刷新有问题)
在正式环境则需要慎重选择
主流技术对比: https://blog.csdn.net/u011177064/article/details/104383133
2:SkyWalking 快速应用
资源下载: https://archive.apache.org/dist/skywalking/6.5.0/
Skywalking 包含两大部分:
服务端:/bin 目录中有启动脚本,用于收集监控数据以及可视化界面展示。
代理端:/agent 目录 , 启动实际应用前,添加 jvm 参数,使用 javaagent 技术监控 应用。
启动:/bin 下的startup.sh
启动后会运行两个服务:
Skywalking-Webapp:管理平台页面 ,默认端口 8080,登录信息 admin/admin
Skywalking-Collector:追踪信息收集器,通过 gRPC/Http 收集客户端的采集信息 ,Http默认端口 12800,gRPC默认端口 11800。
修改Skywalking-Webapp的启动端口 修改为10002
apache-skywalking-apm-6.5.0\apache-skywalking-apm-bin\webapp\webapp.yml
默认存储是使用的h2,可以修改为mysql 、elasticsearch 等存储系统 不做修改
配置文件:apache-skywalking-apm-6.5.0\apache-skywalking-apm-bin\config\application.yml
3:SkyWalking 界面
4:SkyWalking 监控项目代码
配置服务VM启动参数 并启动
-javaagent:A:\Instrument\apache-skywalking-apm-6.5.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar -Dskywalking.agent.service_name=gateway
以此类推 配置其他服务重新启动
5:启动优化
特别注意:如果你的电脑内存少于16G建议 修改一下服务的启动参数
-Xms512M -Xmx512M (注意-号 由于编辑文件原因 在Vm上需要改为 “— ” )
注意:如果是jar包启动
java ‐Xms512M ‐Xmx512M -jar name.jar
-Xms:初始堆的分配大小 默认为物理内存的六十四分之一 (‐Xms512M )
-Xmx:堆的最大分配大小(默认为物理内存的四分之一);(‐Xmx512M)
(Server端JVM最好将-Xms和-Xmx设为相同值);
-Xmn: Java Heap Young区大小,不熟悉最好保留默认值; (-Xmn256M)
-Xss : 每个线程的Stack大小,不熟悉最好保留默认值;
-XX:+PrintGCDetails:打印信息
XX:MetaspaceSize=64M (元空间)
‐XX:MaxMetaspaceSize=64M (元空间)
图1设置为512M 图2设置为256M (额。。。效果不太明显。。。)
5:进行测试
请求
先把consumer服务的的providerDemoFeignClient/test接口 改为4次重复调用
http://127.0.0.1:9000/nacos-consumer/providerDemoFeignClient/test
如图可以看到服务之间的拓扑图
User(用户)调用 consumer服务的接口
consumer服务再去调用 provider服务的接口
如图分别有3种形式可以看到请求链路
1:列表 快速观察响应时间
2:树 快速观察调用关系
3:表格 快速看到所在服务
项目连接
请配合项目代码食用效果更佳:
项目地址:
https://github.com/hesuijin/spring-cloud-alibaba-project
Git下载地址:
https://github.com.cnpmjs.org/hesuijin/spring-cloud-alibaba-project.git
在模块下 skywalking-agent-start.md 文件可以看到相关配置
网友评论