1. 程式人生 > >[筆記.zipkin]對.net中鏈路跟蹤類庫zipkin4net的備忘

[筆記.zipkin]對.net中鏈路跟蹤類庫zipkin4net的備忘

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並不是官方實現,但是目前相對好用的一個。