Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Microservice Proxy/Gateway Solutions

MicroService Proxy Gateway Solutions

Kong, Traefik, Caddy, Linkerd, Fabio, Vulcand, and Netflix Zuul seem to be the most common in microservice proxy/gateway solutions. Kubernetes Ingress is often a simple Ngnix, which is difficult to separate the popularity from other things.

Github Star Trend:

Github Star History for Kong vs traefik vs fabio vs caddy vs Zuul

This is just a picture of this link from March 2, 2019

Originally, I had included some other solutions that have been declining in popularity, and some changed their github organization or repo. The Feb 24, 2018 chart is here and was just a picture of this link from Feb 24, 2018

Service Mesh vs Reverse Proxy

A Service Mesh is related, but distinct from the concept of API gateways, edge proxies, and the enterprise service bus. The service mesh is a networking model that sits at a layer of abstraction above TCP/IP. A Service Mesh provides three benefits:

  • security (TLS for service to service authentication)
  • intelligent traffic management (proxy, deployed as a sidecar to the relevant service)
  • visibility (monitoring and tracing for troubleshooting and debugging)

Lyft's Istio or Bouyant's Linkerd or Linkerd2 are examples of a Service Mesh, while Traefik, Envoy, Kong, Zuul, etc. are API Gateway implemented using Reverse Proxy. Before Linkerd/Istio/Linkerd2, large companies implemented the same functionality using fat client libraries.

In these systems, a generalized communication layer became suddenly relevant, but typically took the form of a “fat client” library—Twitter’s Finagle, Netflix’s Hysterix, and Google’s Stubby being cases in point.

Some of these gateways specialize in Edge features, while others are more suitable for internal routing.

More Articles:

Kubernetes Ingress

It is hard to seperate the popularity of the default example NGINX kubernetes ingress controller from the rest of kubernetes. Of the alternative implementations, this chart makes it look like coreos/alb-ingress-controller is the most popular for AWS.

@asayah

This comment has been minimized.

Copy link

@asayah asayah commented Jan 4, 2018

really useful thanks

@pagottoo

This comment has been minimized.

Copy link

@pagottoo pagottoo commented Jan 22, 2018

Using Kong as ingress controller in k8s
https://github.com/koli/kong-ingress

@coopr

This comment has been minimized.

Copy link

@coopr coopr commented May 8, 2018

Announcing the Kubernetes Ingress Controller for Kong https://konghq.com/blog/kubernetes-ingress-controller-for-kong/

@janesser

This comment has been minimized.

Copy link

@janesser janesser commented Jul 13, 2018

Nice1!

@zx1986

This comment has been minimized.

Copy link

@zx1986 zx1986 commented Aug 27, 2018

thanks!

@Reasno

This comment has been minimized.

Copy link

@Reasno Reasno commented Sep 21, 2018

which is best for internal routing?

@phantomk

This comment has been minimized.

Copy link

@phantomk phantomk commented Feb 26, 2019

Great!!

@xring

This comment has been minimized.

Copy link

@xring xring commented Apr 7, 2019

Great! It's really helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.