This repository contains the code for the Tingle.EventBus
libraries. This project exists to simplify the amount of work required to add events to .NET projects. The existing libraries seem to have numerous complexities in setup especially when it comes to the use of framework concepts like dependency injection and options configuration. At Tingle Software, we use this for all our event-driven architecture that is based on .NET
A number of the documents below are still a work in progress and will be added as they get ready.
Bus Concepts and Configuration
- Choosing a transport
- Multiple transports in one bus
- Retries
- Event and Consumers
- Observability
- Your first app
- Use configuration
- Work with Azure IoT Hub
- Work with Azure Managed Identities
- Advanced Service Bus options
- Work with Feature Management
- Extend event configuration
- Using
IConfiguration
to configure the EventBus - Simple Consumer
- Simple Publisher
- Build a custom event serializer
- Build a custom event configurator
- Consume multiple events in one consumer
- Consume same event in multiple consumers
- Publish and consume events from multiple transports of the same type
- Publish and consume events from multiple transports of different types
- In memory background processing
- Using Amazon SQS and SNS
- Receive events from Azure IoT Hub
- Using Azure Managed Identity instead of Connection Strings
- Health Checks for Azure Service Bus with Managed Identity
- Publishing AOT
All the libraries is instrumented using System.Diagnostics.Activity
and System.Diagnostics.ActivitySource
.
This makes it easy to use with OpenTelemetry by listening to the Tingle.EventBus
activity source.
services.AddOpenTelemetry().WithTracing().AddSource("Tingle.EventBus");
Please leave all comments, bugs, requests, and issues on the Issues page. We'll respond to your request ASAP!
The Library is licensed under the MIT license. Refer to the LICENSE file for more information.