实操 OpenTelemetry:通过 Demo 掌握微服务监控的艺术

前言

在上一篇文章 OpenTelemetry 实践指南:历史、架构与基本概念中回顾了可观测性的历史以及介绍了一些 OpenTelemetry 的基础概念,同时也介绍了 OpenTelemetry 社区常用的开源项目。

基础背景知识了解后,这篇就来介绍一下使用 OpenTelemetry 如何实战部署应用,同时在一个可视化页面查看 trace、metric 等信息。

项目介绍

我们参考官方文档构建几个 spring boot 、Golang 项目再配合 Agent 其实也可以很方便的集成 OpenTelemetry。

但是要完整的体验 OpenTelemetry 的所有功能,包含 trace、logs、metrics,还有社区这么多语言的支持其实还是比较麻烦的。

我们还需要单独部署 collector、存储的 backend service 等组件、包括 trace UI 展示所需要的 Jaeger,metric 所需要的 grafana 等。

这些所有东西都自己从头弄的话还是比较费时,不过好在社区已经将这些步骤都考虑到了。

特地为大家写了一个 opentelemetry-demo。

这个项目模拟了一个微服务版本的电子商城,主要包含了以下一些项目:

Service Language Description
accountingservice Go 处理和计算订单数据
adservice Java 广告服务
cartservice .NET 购物车服务,主要会依赖 Redis
checkoutservice Go checkout
currencyservice C++ 货币转换服务,提供了较高的 QPS 能力。
emailservice Ruby 邮件服务
frauddetectionservice Kotlin 风控服务
frontend JavaScript 前端应用
loadgenerator Python/Locust 模拟压测服务
paymentservice JavaScript 支付服务
productcatalogservice Go 商品服务
quoteservice PHP 成本服务
recommendationservice Python 推荐服务
shippingservice Rust shipping service
可以发现在这个 demo 中提供了许多的服务,而且包含了几乎所有主流的语言,可以很好的模拟我们实际的使用场景了。

8f1f44591f8a7faf7e451653ec2c2ea7.png

通过这张图可以更直观的查看各个服务之间的关系。

整体来说前端所有的请求都会通过 front-end-proxy 这个组件代理,最终再由 front 这个服务进行转发到不同的后端服务中。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值