Subrequests and output filters
Yichun Zhang (agentzh)
agentzh at gmail.com
Wed Aug 5 15:19:39 UTC 2015
Hello!
On Wed, Aug 5, 2015 at 7:21 PM, Maxime Henrion wrote:
> I am currently developing an nginx module in order to implement a software component in our platform.
>
> This module's responsibility is to receive upstream requests, forward them to multiple hosts (one host per pool, with N pools; we call a pool a shard), receive all the responses and aggregate them using custom application logic, and finally return an answer.
>
Seems like it's exactly what the ngx.location.capture_multi Lua API
function provided by ngx_lua does:
https://github.com/openresty/lua-nginx-module#ngxlocationcapture_multi
Your requirement can be done in just a few lines of Lua and the
performance is assured since almost all of the heavy-lifting is done
in pure C.
If you insist in rolling out your own custom nginx C modules, then I
suggest you dive into ngx_lua's internals to clone what is already
done and proven there. Having said that, I'm still strongly against
the idea of writing your own C modules after writing tens of nginx C
modules in the last 6 years myself. There won't be much gain at all as
compared to the ngx_lua approach. Not to mention all the development,
debugging, testing, and maintenance price paid on the developer side.
Well, just my 2 cents.
Regards,
-agentzh
More information about the nginx-devel
mailing list