Provided by: elektra-doc_0.8.14-5_all 

NAME
doc_decisions_pubsub_md - Pub/Sub Communication
Issue
To develop a Web UI, we need to be able to remotely configure Elektra via a network socket.
The idea is to use a Pub/Sub concept to synchronize actions which describe changes in the Elektra state.
Constraints
• We need to be able to synchronize all changes in Elektra with the Web UI.
• This needs to be done via a network socket due to limitations of the Web.
• That means we need to run an Elektra daemon (elektrad) to be able to connect to Elektra at any time.
Assumptions
Considered Alternatives
• ZeroMQ: small and popular library for pub/sub
• nanomsg: from the same author as ZeroMQ, even smaller - http://nanomsg.org/documentation-zeromq.html
• redis: requires a running redis server
• kafka: seems too big for Elektra
Decision
Use ZeroMQ with JSMQ.
Argument
nanomsg sounds interesting, but isn't as popular as ZeroMQ, which is why there are no browser JS bindings
available (only Node.js, which cannot be easily used for the Web UI).
Implications
Related decisions
Notes
Version 0.8.14 Tue Dec 15 2015 doc_decisions_pubsub_md(3elektra)