I am reviewing options on how to break down and consolidate WFS requests across multiple backend servers. The client would connect to a single endpoint, but then depending on their Query or POST parameters (mainly Layer/Table name), these would be processed by different endpoints on different backend machines. Sometimes the incoming request would have to be processed in parallel on a couple of backend machines (many layer names in one request). From what I understand I am looking for some sort of a Reverse-Proxy.

Because the WFS Feature (and other Operations) Requests need multiple formats, such as XML/GML or GeoJSON, I need to be able to nicely stitch together responses from underlying services into a single response body. From each such backend response, I need to extract part of the XML or JSON that I am interested in and merge/consolidate into the response body. So I am not interested in plain response concatenation, but also a bit of on-the-fly processing too. This is so that for the end-user all looks like a seamless WFS Endpoint.

I want this so that I can get granular control over resources/servers dedicated for processing of particular Layers/Tables.

What solution would roughly suit the above? Is nginx the right choice for such custom breakdown/consolidation? Or should that be a nodejs app? This component should be very scalable to handle a high throughput of requests. I did wonder if Azure Function could do the work, but I read it might be better for smaller loads.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.