While testing the 2.5.0 alpha candidate I noticed, that our optional use
of serf in mod_proxy and mpm_event is pretty outdated (so unmaintained):
- the serf API we use was only present in serf until version 0.3.1
- in May 2010 it was changed inside serf and httpd does not support this
- serf currently is now at version 1.3.9 (August 2016) providing stable
APIs. There is still some basic maintenance activity in the serf
project, for instance for supporting newer scons build tool versions or
support for OpenSSL 1.1.0.
I do not actually know what the serf support adds to httpd, it seems
mostly some "SerfCluster" feature for mod_proxy. There's no docs and
some comments in the code indicate the impl is not complete. SVN logs
point to the same direction.
Paul Querna wrote in his 2009 svn commit log message:
Work in Progress.
Add Clustered proxying support to mod_serf, by using the heartbeats system.
No preconfiguration of cluster members is needed.
Just a config like this:
SerfCluster sweet heartbeat file=/var/cache/apache/hb.dat
SerfCluster sour heartbeat file=/var/cache/apache/cluster2.dat
The location of all possible destination servers is provided by a new
providers interface, that includes configuration checking of the
arguments to the SerfCluster command, solving one of the worst problems
with the mod_proxy load balancer subsystem.
I suggest we pull the serf dependent code if we can no find a maintainer
for it. Any comments? Anyone interested in actually updating it and
making it work?