At JustWatch we use a service based architecture and a custom build API gateway which is called jw-webrouter. One of the main jobs the jw-webrouter has (since our move to server side rendering) is to balance the upstream request to our jw-app-ssr nodejs service.
For the longest time, this reverse proxy mechanism operated on layer 4 of the OSI model. This comes with several downsides which are discussed in this devlunch. These downsides ultimately brought us to moving up to layer 7.
In this devlunch you will learn the in-depth reasoning for the move and interesting bits about golang and kubernetes networking that we discovered during the process.