Multiple frontends with same ruleset?

Hi, just a quick question:
Is it possible to run multiple frontends with the same ruleset but different backends?

I did a quick test with 10000 requests to three frontends but always hit the first one (they all have the same priority) so I'm not sure this works like I thought it would.

I don't think it's possible: how Traefik would differentiate between the different rulesets?

Can you explain a bit more you use case please or what you try to achieve? Maybe we can help you :slight_smile:

Thanks for the quick reply.

  • Our cloud application's UI is running on three servers to distribute the load -> Backends: cloud_ui1, cloud_ui2, cloud_ui3.

  • Each backend server runs a fixed (going to be dynamic) amount of workers (ip:port) taking requests.

  • Single user entrypoint e.g.

I'd like to keep each server's processes grouped to enable Traefik's health checks and circuitbreakers.


Edit: I thought it would be possible to create a frontend for each backend with the same ruleset and Traefik would like round robin the requests between each frontend.

Hi @Reddy thanks for the explanation of the use case.

This is the role of backends to "represent" the remote servers. Frontend are made for the "routing" itself.
What you need is being able to provide "nested" backends.

With Traefik v1, you cannot achieve this: either you set all the servers (the 3 dynamics pools) on one backend, or you define 1 backend per pool with different frontends (like 3 different subdomains) and then create a round robin DNS entry in front of this.

However good new for you: with Traefik v2.0, you are able to achieve this :partying_face: :

Thanks again for your suggestions.

Glad to hear we can do this in v2. Is there any ETA for the REST-API integration in v2? Right now we have a rather small static configuration but all scaling (more VMs, more subprocesses) is done via REST-API. That's why we haven't switched to v2 yet.

The Rest provider is already implemented, it is not currently documented.

1 Like