Skip to content

Architecture

The framework is composed of multiple packages that work together to provide messaging capabilities.

graph TD

    Application

    Core["ServiceBus.Core"]

    Rabbit6["ServiceBus.Core.Rabbit"]
    Rabbit7["ServiceBus.Core.Rabbit.V7"]

    AspNet["ServiceBus.AspNetCore.Rabbit"]

    Formatters["ServiceBus.Formatters"]

    RabbitMQ

    Application --> Core

    Core --> Rabbit6
    Core --> Rabbit7

    Rabbit6 --> RabbitMQ
    Rabbit7 --> RabbitMQ

    AspNet --> Rabbit6

    Core --> Formatters

Package Responsibilities

ServiceBus.Core

Defines contracts and abstractions.

ServiceBus.Core.Rabbit

RabbitMQ implementation based on RabbitMQ.Client v6.

ServiceBus.Core.Rabbit.V7

RabbitMQ implementation based on RabbitMQ.Client v7.

ServiceBus.AspNetCore.Rabbit

Provides RPC capabilities through ASP.NET Core.

ServiceBus.Formatters

Provides serialization abstractions and implementations.