One of the reasons we use mod_slotmem for load-balancing is that it allows for other storage mechanisms to be used rather than shared memory... mod_slotmem uses the httpd provider mechanism to extend the underlying implementation. As such, we could use LMDB, Geode, <whatever> as our shared storage.
> On Feb 18, 2019, at 4:56 AM, Michal Karm <michal.baba...@gmail.com> wrote: > > Hello, > > Over the years spent on and off with mod_proxy_cluster [1] > it has always been a problem and a bottleneck to maintain > fresh shared information among httpd's processes and threads > about joining _and leaving_ workers. Especially when the number > of workers is in many hundreds and the joining/leaving fluctuation > is a regular ongoing activity. > > The implementation is basically shm/slotmem with all its > boons and banes. > > > QUESTIONS: > > 1) Would it make sense to get rid of all shm and offload the information > sharing for these highly dynamic load balancing scenarios to LMDB [2]? > > I learned about LMDB while working with Knot Resolver [3]. Knot Resolver > is a modern high-performance resolver (CZ-NIC uses it in our Czech TLD > infrastructure). > It scales with processes using event loop - and all its processes share a > cache of > resolved domains [4]. Over the years LMDB emerged as the winning backend for > that cache. > > > 2) Given its license [5], would it ever be even possible for httpd trunk > to depend on it? > > > 3) Is there any similar ongoing effort? I remember Jim's notes on nng > for messaging between workers and balancers. But I don't think he meant > it to also serve for httpd processes to exchange information about workers...? > Did you? :) > > > 4) Does it even make sense to be spending any time with anything like this > or is it a solved problem in some mod_proxy* library I am missing? > > > Cheers > K. > > [1] http://modcluster.io/ > [2] https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database > [3] https://github.com/CZ-NIC/knot-resolver > [4] https://knot-resolver.readthedocs.io/en/stable/daemon.html > [5] http://www.openldap.org/software/release/license.html > [6] https://github.com/nanomsg/nng > > Michal Karm Babacek > > -- > Sent from my Hosaka Ono-Sendai Cyberspace 7 > >