百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

trickster

> 数据库
开源

开源 HTTP 反向代理缓存和时间序列仪表板加速器

2.1K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

开源 HTTP 反向代理缓存和时间序列仪表板加速器

Trickster is an HTTP reverse proxy/cache for http applications and a dashboard query accelerator for time series databases.

Learn more below, and check out our roadmap to find out what else is in the works.

Trickster is hosted by the Cloud Native Computing Foundation (CNCF) as a sandbox level project. If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF.

HTTP Reverse Proxy Cache

Trickster is a fully-featured Reverse Proxy Cache for HTTP applications like static file servers and REST API's.

Feature Highlights

  • A unique and powerful Application Load Balancer for Time Series and generic HTTP endpoints, with pool autodiscovery from Kubernetes, AWS, GPC, Azure, Consul, Nomad, DNS, and more
  • Supports TLS, HTTP/2 and HTTP/3 for frontend termination, and TLS/HTTP/2 for backend origination
  • Can serve as Kubernetes Ingress and/or Gateway Controller
  • WebSocket and HTTP Upgrade tunneling, response trailers (gRPC), and incremental delivery of streaming responses
  • Offers several options for a caching layer, including in-memory, filesystem, Redis and bbolt
  • Highly customizable, using simple yaml configuration settings, down to the HTTP Path
  • Built-in Prometheus metrics and customizable Health Check Endpoints for end-to-end monitoring
  • Negative Caching to prevent domino effect outages
  • High-performance Collapsed Forwarding
  • Best-in-class Byte Range Request caching and acceleration.
  • Distributed Tracing via OpenTelemetry, supporting OTLP protocol.
  • Per-backend Access and Error Logs with Apache-style customizable formats
  • Rules engine for custom request routing and rewriting

Time Series Database Accelerator

Trickster dramatically improves dashboard chart rendering times for end users by eliminating redundant computations on the TSDBs it fronts. In short, Trickster makes read-heavy Dashboard/TSDB environments, as well as those with highly-cardinalized datasets, significantly more performant and scalable.

Compatibility

Trickster works with virtually any Dashboard application that makes queries to any of these TSDB's:

Prometheus

ClickHouse

InfluxDB

Apache Druid

Graphite

MySQL

See the Supported TSDB Providers document for full details

How Trickster Accelerates Time Series

1. Time Series Delta Proxy Cache

Most dashboards request from a time series database the entire time range of data they wish to present, every time a user's dashboard loads, as well as on every auto-refresh. Trickster's Delta Proxy inspects the time range of a client query to determine what data points are already cached, and requests from the tsdb only the data points still needed to service the client request. This results in dramatically faster chart load times for everyone, since the tsdb is queried only for tiny incremental changes on each dashboard load, rather than several hundred data points of duplicative data.

2. Step Boundary Normalization

When Trickster requests data from a tsdb, it adjusts the clients's requested time range slightly to ensure that all data points returned are aligned to normalized step boundaries. For example, if the step is 300s, all data points will fall on the clock 0's and 5's. This ensures that the data is highly cacheable, is conveyed visually to users in a more familiar way, and that all dashboard users see identical data on their screens.

3. Fast Forward

Trickster's Fast Forward feature ensures that even with step boundary normalization, real-time graphs still always show the most recent data, regardless of how far away the next step boundary is. For example, if your chart step is 300s, and the time is currently 1:21p, you would normally be waiting another four minutes for a new data point at 1:25p. Trickster will break the step interval for the most recent data point and always include it in the response to clients requesting real-time data.

Trying Out Trickster

Check out our end-to-end Docker Compose demo composition for a zero-configuration running environment.

Installing

Docker

Docker images are available on Docker Hub (docker.io):

$ docker run --name trickster -d -v /path/to/trickster.yaml:/etc/trickster/trickster.yaml -p 0.0.0.0:8480:8480 trickstercache/trickster

Or via Github Container Registry (ghcr.io):

    $ docker run --name trickster -d -v /path/to/trickster.yaml:/etc/trickster/trickster.yaml -p 0.0.0.0:8480:8480 ghcr.io/trickstercache/trickster

Verifying Docker Image

To verify that the Trickster Docker image is running, first walk through the cosign quickstart guide.

To verify a trickster image, you can use the following command:

cosign verify ghcr.io/trickstercache/trickster:x.y.z --certificate-oidc-issuer=https://token.actions.githubusercontent.com --certificate-identity=https://github.com/trickstercache/trickster/.github/workflows/publish-image.yaml@refs/tags/vx.y.z

See the 'deploy' Directory for more information about using or creating Trickster docker images.

Kubernetes

The deploy/kube directory carries raw-YAML deployments of Trickster as a caching proxy and as a Kubernetes Gateway API / Ingress controller; see kubernetes-deploy.md, kubernetes-gateway.md and kubernetes-ingress.md.

Helm

Trickster Helm Charts are located at https://helm.trickstercache.org/ for installation, and maintained at https://github.com/trickstercache/helm-charts. We welcome chart contributions.

Building from source

To build Trickster from the source code yourself you need to have a working Go environment with version 1.27 or greater installed.

You can directly use the go tool to download and install the trickster binary into your GOPATH:

    $ go install github.com/trickstercache/trickster/cmd/trickster@main
    # this starts a prometheus accelerator proxy for the provided endpoint
    $ trickster -origin-url http://prometheus.example.com:9090 -provider prometheus

You can also clone the repository yourself and build using make:

    $ mkdir -p $GOPATH/src/github.com/trickstercache
    $ cd $GOPATH/src/github.com/trickstercache
    $ git clone https://github.com/trickstercache/trickster.git
    $ cd trickster
    $ make build
    $ ./bin/trickster -origin-url http://prometheus.example.com:9090 -provider prometheus

The Makefile provides several targets, including:

  • build: build the trickster binary
  • docker: build a docker container for the current HEAD
  • clean: delete previously-built binaries and object files
  • test: runs unit tests
  • bench: runs benchmark tests
  • rpm: builds a Trickster RPM

More information

  • Refer to the docs directory for additional info.

Contributing

Refer to CONTRIBUTING.md

© 2021 The Linux Foundation. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page.

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Goacceleratorcachingclickhousedashboards

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类数据库
定价开源

> 相关工具

P
PostgreSQL
功能强大的开源关系型数据库
R
Redis
内存数据结构存储,常用作缓存与队列
M
MySQL
广泛使用的开源关系型数据库