微服务链路追踪_.NET Core微服务:分布式链路追踪系统分享

(给DotNet加星标,提升.Net技能)

转自:另一个老李

cnblogs.com/SteveLee/p/10463200.html

对于普通系统或者服务来说,一般通过打日志来进行埋点,然后再通过elk或splunk进行定位及分析问题,更有甚者直接远程服务器,直接操作查看日志。

5cca8f962df08967cc22b8699764ac4a.png

  • 如何快速发现问题?

  • 如何判断故障影响范围?

  • 如何梳理服务依赖以及依赖的合理性?

  • 如何分析链路性能问题以及实时容量规划?

  • 如何在分布式服务进行日志监控呢?

首先大家会想到分布式链路追踪系统,说到这,就得讲OpenTracing规范,OpenTracing 是一个轻量级的标准化层,它位于应用程序/类库和追踪或日志分析程序之间。详细介绍见 《opentracing文档中文版》

https://wu-sheng.gitbooks.io/opentracing-io/content/。

在谷歌论文《Dapper, 大规模分布式系统的跟踪系统》http://bigbully.github.io/Dapper-translation/的指导下,许多优秀的APM应运而生,分布式追踪系统发展很快,种类繁多,给我们带来很大的方便。

虽然目前市面许多优秀的APM系统,但是作为我们.NET程序员的选择却就少之又少了(甚至没得选),几乎各大分布式追踪系统均提供java版的支持,而.NET上却只有SkyWalking的SkyAPM-dotnet(https://github.com/SkyAPM/SkyAPM-dotnet)一直在默默的支持着,辛苦了,大佬们。

4cc0291b8260ff59be7a7c2db15f6aa6.png

7f2047742b60000daea9aeced500f21f.png

0d3f4c7d1c495fa7eaf276443aa2d8e3.png

启动三个节点后,通过SkyWalking可以看到,Service数量是3,正是我们创建的三个服务节点,Endpoint表示所有连接的数量,DB和Cache作为数据库(或缓存)的数量,MQ的数量、平均吞吐量、网络拓扑图等等。

整个界面一目了然,更多详细介绍可查看官网解释。

d3e92b21d5ca69e784d462baeaefefd3.png

85d95f9bf03c8bcbaaaa7b4f33dde84d.png

83f9b810e3b68219412d1e6df0811209.png

15a18a3ba99db99ebf90c2a4f8b66402.png

382455829faabf355ce9dad4f9544b7a.png

在.NET的生态圈中,曾经有ButterFly这样的原生.NET框架来实现我们整个系统的链路追踪,只是作者表示已不在维护,所以,在.NET上,我们能选的资源也就非常非常的少了!

推荐阅读

(点击标题可跳转阅读)

Visual Studio 2019 RC版发布

Docker应用:Hello World

宇宙第一 IDE 发布第 2 季度路线图

看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

ab683e543edaae26c5003f440110b693.png

喜欢就点一下「好看」呗~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值