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 (February 2010)

- in May 2010 it was changed inside serf and httpd does not support this newer API

- 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
    <Location "/">
      SerfPass cluster://sweet
    <Location "/different_cluster">
      SerfPass cluster://sour

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?



Reply via email to