常用的呼叫鏈解決方案
作者:由 月心 發表于 體育時間:2022-04-02
【尚學堂】Java300集零基礎適合初學者影片教程_Java300集零基礎教程_Java初學入門影片基礎鞏固教程_Java語言入門到精通_嗶哩嗶哩_bilibili
1。SpringCloud Sleuth+Zipkin
SpringCloud Sleuth為服務之間呼叫提供鏈路追蹤、耗時等。
Zipkin是一個開放原始碼分散式的跟蹤系統,由Twitter公司開源,它致力於收集服務的定時資料,以解決微服務架構中的延遲問題,包括資料的收集、儲存、查詢和展現,zipkin會根據呼叫關係透過Zipkin UI生成依賴關係圖。
一句話:SpringCloud Sleuth可以採集資訊、耗時分析等並將結果傳送到Zipkin,利用Zipkin的儲存來儲存資訊,利用Zipkin Ui來展示資料。
好處: 對於呼叫比較頻繁的服務,可以針對這些服務實施一些最佳化措施。
Sleuth與Zipkin的區別
Sleuth會產生traceId、spanId,統計每個服務呼叫的時間等
Zipkin根據Sleuth提供的日誌資料來源展示到視覺化介面
使用SpringCloud中Sleuth整合Zipkin可解決下列問題:
a、採集rpc通訊中呼叫鏈出現的錯誤日誌
b、能計算整個呼叫鏈的執行時間。
Zipkin與ELK+Kafka的區別
zip對呼叫鏈有關聯關係,且只收集錯誤日誌。
ELK+Kafka蒐集所有日誌,且更加詳細,查詢錯誤日誌成本比較高。
2。阿里的鷹眼系統——全鏈路
設計思想和上面的一樣