当前位置:网站首页>分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享
分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享
2022-08-04 11:59:00 【InfoQ】
- 分布式上下文传播、事务监控
- 根本原因、服务依赖分析
- 性能/延迟优化
- OpenTracing 启发的数据模型
- 多个存储后端:Cassandra, Elasticsearch, memory.
- 系统拓扑图
- 服务性能监控(SPM)
- 自适应采样
Jaeger 架构

如何在Rainbond上集成?

OpenTracingAPI
OpenTelemetry
javaagent
java-javaagent:path/to/opentelemetry-javaagent.jar-jar myapp.jar
OpenTelemetryjavaagent
OpenTelemetryjavaagent
JaegerCollector
实践步骤
1. Spring Cloud Pig 源码部署
SpringCloudPig
- Spring Cloud Pig 部署教程
- Spring Cloud Pig 视频教程
2. OpenTelemetry 插件安装
opentelemetry-java-agent
opentelemetry-javaagent.jar
- 团队视图 -> 插件 -> 从应用商店安装插件 -> 搜索
opentelemetry-java-agent
并安装。

3. 部署 Jaeger
Jaeger

4. OpenTelemetry Agent 插件配置
pig-gateway
opentelemetry-java-agent

应用配置组

OTEL_SERVICE_NAME
OTEL_SERVICE_NAME=pig-gateway
OTEL_SERVICE_NAME=pig-auth
5.建立依赖关系
JaegerCollector
Jaeger
JaegerCollector
JaegerCollector

6. Jaeger 快速使用
- 访问 Spring Cloud Pig UI 进行登录,使其产生数据。
- 访问
Jaeger-Query
的16686
端口,打开对外服务即可访问JaegerUI
。
- 在 Jaeger Search 页面中搜索微服务 Pig-gateway 的 Traces
- Service:选择微服务的组件
- Operation:选择操作类型,例:GET POST、接口、类.....
- Tags:根据响应头筛选,例:http.status_code=200 error=true
- Lookback:选择时间
- Max Duration:最大持续时间;Min Duration:最小持续时间。
- Limit Results:限制返回结果数量。

- 找到 Pig-gateway HTTP POST 的 Traces 并包含了 pig-auth Span并进入,可看到很清晰的展示了服务之间一层一层的调用以及接口的响应时间,这样我们就可以排查到底是哪个服务调用的慢或者调用有问题。

spark-dependencies
spark-dependencies

最后
SpringCloud
Jaeger
APM
边栏推荐
猜你喜欢
微信公众号之底部菜单
Flutter使用 json_serializable 解析 JSON 最佳方案
BOSS直聘回应女大学生连遭两次性骚扰:高度重视求职者安全 可通过App等举报
国际原子能机构总干事警告称扎波罗热核电站安全形势已“完全失控”
Apache Doris 1.1 特性揭秘:Flink 实时写入如何兼顾高吞吐和低延时
请 AI 画家弄了个 logo,网友热议:画得非常好,下次别画了!
如何让 WPF 程序更好地适配 UI 自动化
AI 助力双碳目标:让每一度电都是我们优化的
涨姿势了!原来这才是多线程正确实现方式
Leetcode - using sequence traversal features first completed 114. The binary tree to the list
随机推荐
OAuth2图文快速入门
【HMS core】【FAQ】Account Kit、MDM能力、push Kit典型问题合集6
asp.net解决大文件断点续传
记我的第一篇CCF-A会议论文|在经历六次被拒之后,我的论文终于中啦,耶!
ECCV 2022 | 通往数据高效的Transformer目标检测器
Shell loop statement (for, while, until)
剑指offer专项突击版第19天
Flutter使用 json_serializable 解析 JSON 最佳方案
涨姿势了!原来这才是多线程正确实现方式
飞书更新招聘功能 候选人可选择面试时间
正则表达式
第10章 模块和包
网管交换机与非网管交换机如何选择?
网管型交换机比傻瓜交换机多了哪些功能
11. Network planning and design
深度学习------戴口罩和不戴口罩
七夕还没选好礼物,快送这套美妆秘籍,保准没错~~
如何让 WPF 程序更好地适配 UI 自动化
ESP8266-Arduino编程实例-APDS-9930环境光和趋近感器驱动
[牛客网]OR63删除公共字符