DEV Community

loading...

Discussion on: Why do microservices need an API Gateway?

Collapse
yellow1912 profile image
yellow1912

Any open source api gateway you recommend? I know Kong but don't really like it.

Collapse
andrewwaters profile image
Andrew Waters

I use traefik, which is the intersection between ingress and gateway. The middleware offered are well defined and easy to use, although they don't capture all requirements. For the Go devs who want to build that functionality, there is a new plugin architecture being introduced in v2.3 - doc.traefik.io/traefik/master/plug...

I haven't kicked the tires on this yet but will be soon

Collapse
yellow1912 profile image
yellow1912

Traefik is very interesting as well, do you see it as an alternative to HAProxy in term of load balancer as well? How about performance as well as configuration? I assume the configuration should be easier than HAProxy?

Thread Thread
andrewwaters profile image
Andrew Waters

Yep - we rolled our own cert-manager (which is a requirement if you want more than one instance running, which generally, you do) to get it to scale (unless you go Enterprise).

Obviously, it's not as thin as a true reverse proxy, but that's because it's not designed that way. It's still very fast for us and the flexibility pays off the performance. In terms of config, we use k8s so it falls into the same CD pipelines we have for everything else which is another bonus.

There are other ways to configure it and you can read more about it here: doc.traefik.io/traefik/providers/o...

Collapse
rahul_ramfort profile image
Rahul Author • Edited

Is there any specific reasons on why you don't like Kong? We are using it on production.
Pretty much solves the problem at hand for us.

Collapse
andrewwaters profile image
Andrew Waters

I've had immeasurable issues with the development lifecycle (in particular the feedback loop) when writing plugins for it (using the Go PDK bridge)

Collapse
yellow1912 profile image
yellow1912

Nothing in particular. It actually looks great. I may even use it for a toy project first. I'm using haproxy for load balancer so I'm thinking I should try out its other features as well.

Thread Thread
rahul_ramfort profile image
Rahul Author

If you're just looking for a LB, you should check out nginx as well. FYI, Kong is just a wrapper around nginx.

Collapse
imthedeveloper profile image
Collapse
yellow1912 profile image
yellow1912

Thank you. I'm staring at haproxy now. It looks quite promising. It doesn't have lots of features yet but it has good performance overall and is also a load balancer.