seda_bus 0.1.2

A Staged Event-Driven Architectural message bus
Documentation

Build Status

Staged Event-Driven Architecture (SEDA) Bus

A form of message bus avoiding the high overhead of thread-based concurrency models where channels get their own inbound and outbound queues. When used in conjunction with the Service Bus, the service bus acts as a layer above the message bus driving routing based on service operations and/or other logic which results in mappings to the lower message bus address.

Crates.io

!! WIP - not stable until version 1.0 !!

Design Goals

  • non-persistence of messages for deniability by default
  • mark messages as consumed on consumption so that clients can continue on if synchronous
  • mark messages as completed on completion so that clients know when they can clear the queue if they wish
  • mark messages as errored with code on error so that clients can determine how they wish to handle it
  • use dbus for inter-process communications on Linux
  • use ipcd for inter-process communications on RedoxOS

Functionality

lib.rs

  1. Start Message Bus up with a name - Message bus instance creates a thread pool with Max Capacity of threads.
  2. Create Endpoints as needed using Message Bus.
  3. Start Message Bus

main.rs

  1. cargo install seda_bus
  2. copy seda_bus file to: /etc/init.d/seda_bus
  3. chmod +x /etc/init.d/seda_bus -v
  4. service seda_bus start