]
Michal Karm Babacek updated MODCLUSTER-556:
-------------------------------------------
Summary: Consider protobuf-c to replace shm slotmem and allow multiple httpd instances
state sharing (was: Consider protobuf-c (plain C Google Protocol Buffers) to replace shm
slotmem and allow multiple httpd instances state sharing)
Consider protobuf-c to replace shm slotmem and allow multiple httpd
instances state sharing
-------------------------------------------------------------------------------------------
Key: MODCLUSTER-556
URL:
https://issues.jboss.org/browse/MODCLUSTER-556
Project: mod_cluster
Issue Type: Feature Request
Components: Native (httpd modules)
Reporter: Michal Karm Babacek
Assignee: Michal Karm Babacek
Lemme leave it here for future coding spree:
* shm is PITA, any update of data model is very scary
* the only description of data is in code, our structures and additional meta data like
timestamps
* adding and removing records from shm causes leftover artifacts that are not cleaned up
* meticulous locking on shm access is a bottleneck, it is making httpd slower than Java
Undertow implementation when it comes to huge concurrency
* storing and loading data structures as Google Protocol Buffers would allow for httpd
processes to behave as actors, sending and receiving messages and thus achieve much higher
level of concurrency than locking a single shared mem file
* furthermore, it would actually allow multiple httpd instances to share
mod_proxy_cluster state, blurring the difference between httpd child processes and
separate httpd instances
* Google Protocol Buffers
https://developers.google.com/protocol-buffers/
* protobuf-c (plain C)
https://github.com/protobuf-c/protobuf-c