A reverse proxy written in Clojure

I found this beautiful thing yesterday:

I tried it out, and it works like a charm.

The idea: use it instead of Nginx or EnvoyProxy to do traffic management, like canary deployments (send 98% of the traffic to the old version and 2% to the new version).

What could go wrong? :sweat_smile:

Writing Nginx config files always seems like magic to me, and more advanced traffic management is only available in the paid version (like cookie-based routing: Performing A/B Testing with NGINX and NGINX Plus - NGINX).

Adding a service mesh to our Google Cloud Kubernetes Engine seems like total overkill. It took me half a day to understand that I should use Traffic Director for it. Although Iā€™m used to the complexity of Google Cloud, the Traffic Director setup is insane.

nginx-clojure seems also to be an option. Iā€™m grateful for any words of advice :slight_smile:

1 Like