I've updated mod_serf.

It now does:
 - Fully Async Proxying when running on the Event MPM
 - Dynamic Clustered Backends based on machines with mod_heartbeat running.
 - New provider for providing a list of IPs to use, rather than the
mod_proxy interface of only working with known workers -- I think this
will make it more flexible in the long run.
 - Provider interface uses tables to store configuration data, rather
than having to extend the mod_proxy core when writing extensions.
 - Much simpler configuration than mod_proxy, using location blocks
(or locationMatch), rather than ProxyPass' hacking of URI stuff way
earlier.

Example configuration:
SerfCluster dynamiccluster heartbeat path=logs/hb.dat
SerfCluster statichosts static hosts=140.211.11.130,192.87.106.226
<Location /test>
    SerfPass cluster://dynamiccluster
</Location>
<Location />
    SerfPass cluster://statichosts preservehost=0
</Location>

There are still bugs, and lots of improvements that could be made,
like async streaming of request bodies, from the event thread, but
pretty quickly I think this could turn into a much more powerful
module than mod_proxy, at a fraction of the complication.

Thoughts :) ?

Thanks,

-Paul

Reply via email to