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