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