seda_bus 0.0.8

A Staged Event-Driven Architectural message bus.
seda_bus-0.0.8 is not a library.
Visit the last successful build: seda_bus-0.2.0

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. The bus uses its own thread pool to route messages between queues. Addresses in Routes point to channel names. 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

  • place the burden of queue checks on the clients for maximum scalability
  • non-persistence of messages for deniability
  • 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

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