.. highlight:: shell .. _README: ==== Xbus ==== .. image:: https://drone.xcg.io/api/badges/orus-io/xbus/status.svg :target: https://drone.xcg.io/orus-io/xbus :alt: Build Status .. image:: https://img.shields.io/badge/license-MIT-blue.svg :target: https://bitbucket.org/orus-io/xbus/LICENSE :alt: License Xbus provides high-level application messaging on top of `NATS`_. Requirements ============ Golang ------ This is a `Go`_ project. We build and test xbus with go 1.13.x Postgresql ---------- Xbus uses a `postgresql`_ database 9.5+ to serialize configuration and events. Build ===== Build as a regular `Go`_ package:: make devtools make install Running ======= 3 binaries are created: - :ref:`xbusd `: Main Xbus program. - :ref:`xbusctl `: Xbus administration program (ctl = "control"); remotely connects to :ref:`xbusd `. - :ref:`xbus-client `: Administration of actors (programs that can connect to Xbus). Each program may be run with ``--help`` to see available commands / flags / etc. Warning: `xbusd ` can produce a LOT of logs when placed under load. The server will crash if it is unable to write to stdio/stderr. Init systems that implement rate limitation for logs (such as `systemd`) may cause `xbusd ` to crash if the server exceeds this limit. Updating ======== - The ``migration`` directory contains scripts one can use to migrate Xbus databases from one version to the other.