Far too few people know about it IMO
Far too few people know about it IMO
Traefik was much more ram hungry than nginx, and iirc Caddy as well (at least 2 goroutines per conn). It’s probably fine (and worth it) for the vast majority of request-response web apps, but all of these extra layers have a cost. And that’s still nothing compared to the overhead of say k8s with all bells and whistles.
Anyway, as someone who’s been out of the loop on backend for many years, I am quite shocked at the level of resource waste, even among the projects with a strong reputation. You always hear the complaints about frontend bloat, but these days backend seem to have caught up.
That said I definitely believe your characterization of resource hunger between nginx and traefik.
You are the second person to mention using websockets for requests in as many days… How do you deal with scale out? Sticky cookie routing seems like almost a requirement if you don’t want to deploy a redis-alike.
Also just out of curiosity, do you use hyper-express[0]?
Though that is probably why - Traefik is popular for self-hosting, while Caddy is more generally mainstream.
[1] https://github.com/traefik/traefik "Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components (Docker, Swarm mode, Kubernetes, Consul, Etcd, Rancher v2, Amazon ECS, ...) and configures itself automatically and dynamically. Pointing Traefik at your orchestrator should be the only configuration step you need."
Traefik is absolutely amazing! And it seems like in the development community every wants to use nginx. But in my experience traefik is absolutely perfect for proxying with container deployed applications.
It also really depends on what you want out of the proxy.
Probably makes sense to try caddy first for simpler use cases and graduate to traefik if you find some features you want to have (like l4 traffic that isn’t alpha:beta)