[笔记.zipkin]对.net中链路跟踪类库zipkin4net的备忘 - C#

1、zipkin4net 的大致逻辑:

    本质上就是创建span对象并提交

    根据设定的采样率SamplingRate确定是否创建和提交

    数据提交通过 IRecordDispatcher -> IReporter -> IZipkinSender

    span是周期性提交的,到达周期后会将两种span提交:已完结的、超过一个周期时间但仍未完结的(会标记Tag为flush.timeout)

    如果span未完结就已经被提交,不影响后续对span的操作(标记完成/设置Tag),但ServerName等信息就会丢失(因为在提交span数据时会丢弃span对象数据)

 

2、zipkin4net最低支持fx4.5.1版本,但可以通过简单修改源码支持fx4(为了支持顽强的XP系统)

3、缺省支持HTTP方式提交(直接调用的zipkin的API),也可以自行实现。如:提交到kafka/rabbitmq

4、在调用频率高的时候,最好合理设置采样率,否则对性能影响还是不小的(至少zipkin4net是这样,构造span、序列化、提交等都是消耗)。

 

备注:zipkin4net并不是官方实现,但是目前相对好用的一个。

posted @ 2018-08-20 17:27  俊哥V  阅读(164)  评论(0编辑  收藏  举报