xbus

module
v0.0.0-...-e652847 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 15, 2020 License: MIT

README

.. 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 <xbusd>`: Main Xbus program.

- :ref:`xbusctl <xbusctl>`: Xbus administration program (ctl = "control");
  remotely connects to :ref:`xbusd <xbusd>`.

- :ref:`xbus-client <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 <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 <xbus>` 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.

Directories

Path Synopsis
cmd
core
Package core provides the 'core' service, which must be started once and only once in every server process
Package core provides the 'core' service, which must be started once and only once in every server process
ravencapture
Package ravencapture provides the 'core' service, which must be started once and only once in every server process
Package ravencapture provides the 'core' service, which must be started once and only once in every server process
sql

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL