Trickster alternatives and similar packages
Based on the "Server Applications" category.
Alternatively, view Trickster alternatives based on common mentions on social networks and blogs.
etcd10.0 9.9 Trickster VS etcdDistributed reliable key-value store for the most critical data of a distributed system
minio10.0 9.9 Trickster VS minioMulti-Cloud :cloud: Object Storage
Caddy10.0 9.0 Trickster VS CaddyFast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
traefik10.0 8.9 Trickster VS traefikThe Cloud Native Application Proxy
Vault9.9 9.9 Trickster VS VaultA tool for secrets management, encryption as a service, and privileged access management
consul9.9 9.9 Trickster VS consulConsul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
nsq9.9 1.6 Trickster VS nsqA realtime distributed messaging platform
apex9.6 2.1 Trickster VS apexBuild, deploy, and manage AWS Lambda functions with ease (with Go support!).
RoadRunner9.4 9.2 Trickster VS RoadRunner🤯 High-performance PHP application server, process manager written in Go and powered with plugins
Ponzu9.3 0.0 Trickster VS PonzuHeadless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.
SFTPGo9.3 8.9 Trickster VS SFTPGoFully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
Jocko9.2 0.0 Trickster VS JockoKafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)
Easegress9.2 9.1 Trickster VS EasegressA Cloud Native traffic orchestration system
devd8.7 0.0 Trickster VS devdA local webserver for developers
Fider8.6 5.5 Trickster VS FiderOpen platform to collect and prioritize feedback
Flagr8.3 0.0 Trickster VS FlagrFlagr is a feature flagging, A/B testing and dynamic configuration microservice
discovery8.3 0.0 Trickster VS discoveryA registry for resilient mid-tier load balancing and failover.
algernon8.3 8.1 Trickster VS algernon:tophat: Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support
Key Transparency8.2 1.0 Trickster VS Key TransparencyA transparent and secure way to look up public keys.
flipt8.2 9.1 Trickster VS fliptAn open source, self-hosted feature flag solution
Wish8.0 6.8 Trickster VS WishMake SSH apps, just like that! 💫
GeoDNS in Go7.9 0.0 Trickster VS GeoDNS in GoDNS server with per-client targeted responses
jackal7.8 6.7 Trickster VS jackal💬 Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP).
Golang API Starter KitGo Server/API boilerplate using best practices DDD CQRS ES gRPC
Sparta7.0 0.0 Trickster VS Spartago microservices, powered by AWS Lambda
go-feature-flag6.8 8.6 Trickster VS go-feature-flagA simple and complete self hosted feature flag solution, without any complex backend system to install, all you need is a file as your backend. 🎛️
Euterpe6.4 0.0 Trickster VS EuterpeSelf-hosted music streaming server 🎶 with RESTful API and Web interface. Think of it as your very own Spotify! ☁️🎧
Walrus6.3 9.0 Trickster VS Walrus🔥 Fast, Secure and Reliable System Backup, Set up in Minutes.
goproxy6.0 0.0 Trickster VS goproxy🦁 goproxy is a proxy server which can forward http or https requests to remote servers./ goproxy 是一个反向代理服务器，支持转发 http/https 请求。
Eru5.7 7.9 Trickster VS EruEru, a simple, stateless, flexible, production-ready orchestrator designed to easily integrate into existing workflows. Can run any virtualization things in long or short time.
Aegis5.7 0.0 Trickster VS AegisServerless Golang deploy tool and framework for AWS Lambda
marathon-consul5.4 0.0 Trickster VS marathon-consulIntegrates Marathon apps with Consul service discovery.
dudeldu4.8 0.0 Trickster VS dudelduA simple SHOUTcast server.
dummy4.8 7.8 Trickster VS dummyRun mock server based off an API contract with one command
cortex-tenant4.4 3.9 Trickster VS cortex-tenantPrometheus remote write proxy that adds Cortex tenant ID based on metric labels
go-proxy-cache4.0 4.8 Trickster VS go-proxy-cacheSimple Reverse Proxy with Caching, written in Go, using Redis.
lets-proxy24.0 7.0 Trickster VS lets-proxy2Reverse proxy with automatically obtains TLS certificates from Let's Encrypt
Simple CRUD App w/ Gorilla/Mux, MariaDBSimple CRUD Application with Go, Gorilla/mux, MariaDB, Redis.
lama.sh3.7 2.5 Trickster VS lama.shRun "curl -L lama.sh | sh" to start a web server
psql-streamer3.3 0.0 Trickster VS psql-streamerStream database events from PostgreSQL to Kafka
simple-jwt-provider2.4 0.0 Trickster VS simple-jwt-providerSimple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.
autobd2.4 0.0 Trickster VS autobdautobd is an automated, networked and containerized backup solution
nginx-prometheus2.4 0.0 Trickster VS nginx-prometheusTurn Nginx logs into Prometheus metrics
protoxy2.3 0.8 Trickster VS protoxyA proxy server than converts JSON request bodies to protocol buffers
yakvs2.1 1.1 Trickster VS yakvsA small, networked, in-memory key-value store.
go-fitbit1.3 10.0 Trickster VS go-fitbitFitbit API for Go to fetch, add, update and delete data on Fitbit using REST API
Moxy0.9 0.0 Trickster VS MoxyMocker + Proxy Application
riemann-relay0.6 0.0 Trickster VS riemann-relayService for relaying Riemann events to Riemann/Carbon destinations
UDP-server-go0.3 6.0 Trickster VS UDP-server-goUDP-server-go
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of Trickster or a related project?
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](./docs/roadmap.md) 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.
Note: Trickster v1.1 is the production release, sourced from the v1.1.x branch. The
main branch sources Trickster 2.0, which is currently in beta.
HTTP Reverse Proxy Cache
Trickster is a fully-featured HTTP Reverse Proxy Cache for HTTP applications like static file servers and web API's.
Proxy Feature Highlights
- A unique and powerful [Application Load Balancer](./docs/alb.md) for Time Series and generic HTTP endpoints
- [Supports TLS](./docs/tls.md) and HTTP/2 for frontend termination and backend origination
- Offers several options for a [caching layer](./docs/caches.md), including in-memory, filesystem, Redis and bbolt
- [Highly customizable](./docs/configuring.md), using simple yaml configuration settings, [down to the HTTP Path](./docs/paths.md)
- Built-in Prometheus [metrics](./docs/metrics.md) and customizable [Health Check](./docs/health.md) Endpoints for end-to-end monitoring
- [Negative Caching](./docs/negative-caching.md) to prevent domino effect outages
- High-performance [Collapsed Forwarding](./docs/collapsed-forwarding.md)
- Best-in-class [Byte Range Request caching and acceleration](./docs/range_request.md).
- [Distributed Tracing](./docs/tracing.md) via OpenTelemetry, supporting Jaeger and Zipkin
- 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.
Trickster works with virtually any Dashboard application that makes queries to any of these TSDB's:
See the [Supported TSDB Providers](./docs/supported-origin-types.md) 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](./examples/docker-compose) for a zero-configuration running environment.
Docker images are available on Docker Hub:
$ docker run --name trickster -d -v /path/to/trickster.yaml:/etc/trickster/trickster.yaml -p 0.0.0.0:8480:8480 trickstercache/trickster
See the 'deploy' Directory for more information about using or creating Trickster docker images.
See the 'deploy' Directory for Kube and deployment files and examples.
Trickster Helm Charts are located at https://helm.tricksterproxy.io 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.19 or greater installed.
You can directly use the
go tool to download and install the
binary into your
$ go get github.com/trickstercache/trickster/cmd/trickster # 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
$ 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 $ ./OPATH/trickster -origin-url http://prometheus.example.com:9090 -provider prometheus
The Makefile provides several targets, including:
- build: build the
- docker: build a docker container for the current
- clean: delete previously-built binaries and object files
- test: runs unit tests
- bench: runs benchmark tests
- rpm: builds a Trickster RPM
- Refer to the [docs](./docs/) directory for additional info.
Refer to [CONTRIBUTING.md](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.
*Note that all licence references and agreements mentioned in the Trickster README section above are relevant to that project's source code only.