Linkerd as forward proxy with circuit breaker?

Hi everyone,

I want to use Linkerd as just a HTTP proxy that has circuit breaker functionality. So e.g. it should be able to forward request to http://x.com/foo, https://y.net/bar, etc without needing to add config every time my app needs to go another new outbound service. Also the circuit breaker needs to keep track of success rate of each outbound service independently.

Is it possible? Because currently what I get from the docs is that Linkerd needs to use some service discovery tool, it can’t seem to forward request as-is. It cant’ seem to forward HTTP and HTTPS request if the client is configured to use TLS too.

If anyone could give example config file to achieve this, it would be a big help.

Interesting use case @PatrixCR, you could setup linkerd to be a proxy and route both HTTP and HTTPS requests. Here is an example config that could get you started:

admin:
  ip: 0.0.0.0
  port: 9990

routers:
  - protocol: http
    label: proxy
    dtab: |
          /ph        => /$/io.buoyant.rinet ; # Lookup the name in DNS
          /svc       => /ph/80 ; # Use port 80 if unspecified
          /srv       => /$/io.buoyant.porthostPfx/ph ; # Attempt to extract the port from the hostname
          /svc       => /srv ;
    servers:
    - port: 4140
      ip: 0.0.0.0

This gives you the ability to add more configs like failure accrual and other options that linkerd provides as well.

The config was derived from this blog post. Feel free to read through the post to get additional information that may be helpful.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.