Grafana 圖表加速神器 - Trickster
Trickster(tricksterproxy.io)是一個用于 http 應(yīng)用的 HTTP 反向代理/緩存,也是一個用于時間序列數(shù)據(jù)庫的儀表盤查詢加速器。
目前 Trickster 是有由 CNCF 作為沙盒級項目進(jìn)行托管的,目前 Trickster v1.1 是生產(chǎn)版本,來源于 v1.1.x 分支,主分支來源 Trickster 2.0,目前處于測試階段。
HTTP 反向代理緩存
Trickster 是一個功能齊全的 HTTP 反向代理緩存工具,適用于 HTTP 應(yīng)用,如靜態(tài)文件服務(wù)器和 Web API。
功能亮點(diǎn)
一個獨(dú)特而強(qiáng)大的應(yīng)用負(fù)載均衡器,用于時間序列和通用 HTTP 端點(diǎn) 支持 TLS 和 HTTP/2 為緩存層提供了幾種選擇,包括內(nèi)存、文件系統(tǒng)、Redis 和 bbolt 高度可定制,使用簡單的 yaml 配置設(shè)置,到 HTTP 路徑。 內(nèi)置的 Prometheus 指標(biāo)和可定制的健康檢查端點(diǎn),用于端到端監(jiān)控 高性能轉(zhuǎn)發(fā) Byte 范圍內(nèi)請求緩存和加速 通過 OpenTelemetry 進(jìn)行分布式跟蹤,支持 Jaeger 和 Zipkin 用于自定義請求路由和重寫的規(guī)則引擎
時序數(shù)據(jù)庫加速器
Trickster 通過消除 TSDB 上的冗余計算,極大地改善了終端用戶的儀表盤圖表渲染時間。簡而言之,Trickster 對于讀取量大的 Dashboard/TSDB 環(huán)境,以及那些具有高度標(biāo)準(zhǔn)化數(shù)據(jù)集的環(huán)境,極大提高了性能和可擴(kuò)展性。
Trickster 兼容 Prometheus、ClickHouse、InfluxDB、Circonus IRONdb
如何加速時間序列
1.時間序列 Delta 代理緩存,大多數(shù)儀表盤在每次用戶的儀表盤加載時,以及每次自動刷新時,都會向時間序列數(shù)據(jù)庫請求他們希望呈現(xiàn)的整個數(shù)據(jù)時間范圍。Trickster 的 Delta Proxy 會檢查客戶端查詢的時間范圍,以確定哪些數(shù)據(jù)點(diǎn)已經(jīng)被緩存,并從 tsdb 中只請求仍然需要服務(wù)于客戶端請求的數(shù)據(jù)點(diǎn)。這樣一來,每個人的圖表加載時間都會大大加快,因為 tsdb 在每次加載儀表盤時只查詢微小的增量變化,而不是幾百個數(shù)據(jù)點(diǎn)的重復(fù)數(shù)據(jù)。
2. 邊界標(biāo)準(zhǔn)化,當(dāng) Trickster 從 tsdb 請求數(shù)據(jù)時,它會稍微調(diào)整客戶請求的時間范圍,以確保返回的所有數(shù)據(jù)點(diǎn)都與標(biāo)準(zhǔn)化的步長邊界一致。例如,如果步長為 300s,所有數(shù)據(jù)點(diǎn)將落在時鐘 0 和 5 上。這確保了數(shù)據(jù)的高度可緩存性,以更直觀地傳達(dá)給用戶,并且所有儀表盤用戶在屏幕上看到的數(shù)據(jù)都是相同的。
3. Fast Forward,Trickster 的 Fast Forward 功能確保了即使在步長邊界統(tǒng)一的情況下,實時圖表仍然總是顯示最新的數(shù)據(jù),而不管下一個步長邊界有多遠(yuǎn)。例如,如果你的圖表步長是 300s,而時間目前是 1:21p,通常你會在 1:25p 再等 4 分鐘才有新的數(shù)據(jù)點(diǎn)。Trickster 會打破最近數(shù)據(jù)點(diǎn)的步長間隔,并始終將其包含在對客戶請求實時數(shù)據(jù)的響應(yīng)中。
“可以通過 https://helm.tricksterproxy.io/ 在 Kubernetes 中進(jìn)行安裝。
”
K8S 進(jìn)階訓(xùn)練營
點(diǎn)擊屏末 | 閱讀原文 | 即刻學(xué)習(xí)



