Scroll to navigation

doc_decisions_pubsub_md(3elektra) Elektra doc_decisions_pubsub_md(3elektra)

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

Notes

Sun May 29 2016 Version 0.8.14