ThunderPropagator.Feeviders.RabbitMQ.SharedKernel
1.0.1-beta.1
dotnet add package ThunderPropagator.Feeviders.RabbitMQ.SharedKernel --version 1.0.1-beta.1
NuGet\Install-Package ThunderPropagator.Feeviders.RabbitMQ.SharedKernel -Version 1.0.1-beta.1
<PackageReference Include="ThunderPropagator.Feeviders.RabbitMQ.SharedKernel" Version="1.0.1-beta.1" />
<PackageVersion Include="ThunderPropagator.Feeviders.RabbitMQ.SharedKernel" Version="1.0.1-beta.1" />
<PackageReference Include="ThunderPropagator.Feeviders.RabbitMQ.SharedKernel" />
paket add ThunderPropagator.Feeviders.RabbitMQ.SharedKernel --version 1.0.1-beta.1
#r "nuget: ThunderPropagator.Feeviders.RabbitMQ.SharedKernel, 1.0.1-beta.1"
#:package ThunderPropagator.Feeviders.RabbitMQ.SharedKernel@1.0.1-beta.1
#addin nuget:?package=ThunderPropagator.Feeviders.RabbitMQ.SharedKernel&version=1.0.1-beta.1&prerelease
#tool nuget:?package=ThunderPropagator.Feeviders.RabbitMQ.SharedKernel&version=1.0.1-beta.1&prerelease
ThunderPropagator Feeviders
ThunderPropagator is a cutting-edge software solution designed to redefine real-time data streaming. Our mission is to provide effortless, blazingly fast, and cloud-native streaming capabilities for maximum impact. This repository contains the foundational libraries for both Feeders (message consumption) and Providers (message publishing) across multiple messaging systems, which empower developers to build scalable, high-performance streaming applications with ease.
These libraries support .NET 9 and .NET 8, and are configured to work across multiple platforms, including ARM64, x64, x86, and AnyCPU. They are available as NuGet packages from GitHub Packages.
Table of Contents
Overview
ThunderPropagator is designed to revolutionize real-time data streaming by providing:
- Effortless Integration: Simple and intuitive APIs for seamless integration into your applications.
- Blazingly Fast Performance: Optimized for low-latency, high-throughput streaming.
- Cloud-Native Architecture: Built for modern cloud environments, enabling scalability and resilience.
- Cross-Platform Support: Compatible with ARM64, x64, x86, and AnyCPU platforms.
- Multiple Messaging Systems: Support for 12+ messaging systems including Kafka, RabbitMQ, WebSocket, and more.
Whether you're building real-time analytics, live event processing, or IoT data pipelines, ThunderPropagator empowers you to deliver maximum impact with minimal effort.
Documentation
π Complete Documentation - Comprehensive framework documentation with API references, diagrams, examples, and best practices.
Documentation Catalog
This repository publishes generated documentation under /docs. The catalog below links to messaging systems and key components.
SharedKernel Types:15 Files:25 Diagrams:β
Core abstractions and base implementations for feeders and providers.
- Feeders.SharedKernel
Types:8Files:12Diagrams:β - Providers.DotNet.SharedKernel
Types:7Files:13Diagrams:β
Kafka Types:12 Files:18 Diagrams:β
High-throughput event streaming with Confluent.Kafka, Schema Registry, and Avro support.
- Feeders.Kafka
Types:6Files:9Diagrams:β - Providers.DotNet.Kafka
Types:6Files:9Diagrams:β
RabbitMQ Types:15 Files:24 Diagrams:β
AMQP-based messaging with complex routing, exchanges, and queues.
- Feeders.RabbitMQ
Types:5Files:8Diagrams:β - Providers.DotNet.RabbitMQ
Types:5Files:8Diagrams:β - Feeviders.RabbitMQ.SharedKernel
Types:5Files:8Diagrams:β
NATS Types:15 Files:24 Diagrams:β
Cloud-native messaging with JetStream persistence and key-value stores.
- Feeders.NATS
Types:5Files:8Diagrams:β - Providers.DotNet.NATS
Types:5Files:8Diagrams:β - Feeviders.NATS.SharedKernel
Types:5Files:8Diagrams:β
Pulsar Types:15 Files:24 Diagrams:β
Multi-tenant pub-sub with geo-replication and tiered storage.
- Feeders.Pulsar
Types:5Files:8Diagrams:β - Providers.DotNet.Pulsar
Types:5Files:8Diagrams:β - Feeviders.Pulsar.SharedKernel
Types:5Files:8Diagrams:β
MQTT Types:15 Files:24 Diagrams:β
Lightweight IoT messaging protocol with Quality of Service guarantees.
- Feeders.Mqtt
Types:5Files:8Diagrams:β - Providers.DotNet.Mqtt
Types:5Files:8Diagrams:β - Feeviders.Mqtt.SharedKernel
Types:5Files:8Diagrams:β
ActiveMQ Types:15 Files:24 Diagrams:β
Apache ActiveMQ JMS messaging with enterprise integration patterns.
- Feeders.ActiveMQ
Types:5Files:8Diagrams:β - Providers.DotNet.ActiveMQ
Types:5Files:8Diagrams:β - Feeviders.ActiveMQ.SharedKernel
Types:5Files:8Diagrams:β
RedisPubSub Types:10 Files:14 Diagrams:β
In-memory pub/sub for low-latency messaging and caching.
- Feeders.RedisPubSub
Types:5Files:7Diagrams:β - Providers.DotNet.RedisPubSub
Types:5Files:7Diagrams:β
WebSocket Types:10 Files:14 Diagrams:β
Real-time bidirectional web communication over persistent connections.
- Feeders.WebSocket
Types:5Files:7Diagrams:β - Providers.DotNet.WebSocket
Types:5Files:7Diagrams:β
WebApi Types:10 Files:14 Diagrams:β
HTTP/REST API consumption and publishing with resilience patterns.
- Feeders.WebApi
Types:5Files:7Diagrams:β - Providers.DotNet.WebApi
Types:5Files:7Diagrams:β
TcpSocket Types:15 Files:24 Diagrams:β
Low-level TCP socket protocol with custom framing and binary protocols.
- Feeders.TcpSocket
Types:5Files:8Diagrams:β - Providers.DotNet.TcpSocket
Types:5Files:8Diagrams:β - Feeviders.TcpSocket.SharedKernel
Types:5Files:8Diagrams:β
UdpClient Types:10 Files:14 Diagrams:β
UDP datagram protocol for fire-and-forget messaging.
- Feeders.UdpClient
Types:5Files:7Diagrams:β - Providers.DotNet.UdpClient
Types:5Files:7Diagrams:β
Total: 12 Systems | 30 Projects | 167+ Types | 270+ Files | 33+ Diagrams
Last generated: December 29, 2025
Quick Links
- Architecture Overview - Framework architecture and components
- Getting Started Guide - Installation and basic usage
- Performance Notes - Optimization recommendations
Features
- Cross-Platform Support: Works seamlessly on ARM64, x64, x86, and AnyCPU platforms.
- .NET Compatibility: Fully compatible with .NET 9 and .NET 8.
- Debug and Release Configurations: Pre-configured for both debug and release builds.
- High Performance: Optimized for low-latency, high-throughput streaming.
- Cloud-Native: Designed for modern cloud environments with built-in scalability and resilience.
- NuGet Packages: Easily installable via a custom NuGet repository.
Supported Platforms
The projects support the following platforms:
- ARM64
- x64
- x86
- AnyCPU
Both Debug and Release configurations are available for all platforms.
Installation
Step 1: Add the Custom NuGet Repository
To install the libraries as NuGet packages, you need to add the custom NuGet repository to your NuGet configuration.
Using Visual Studio:
- Open Visual Studio.
- Go to Tools > NuGet Package Manager > Package Manager Settings.
- Under Package Sources, click the + button to add a new source.
- Enter the following details:
- Name:
ThunderPropagator - Source:
https://nuget.thunderpropagator.com/v3/index.json
- Click Update and then OK.
Using the Command Line:
Add the NuGet source using the following command:
dotnet nuget add source --name ThunderPropagator --source https://nuget.thunderpropagator.com/v3/index.json
Create or Update nuget.config
If you donβt already have a nuget.config file in your project or solution directory, create one. If you do, update it to include the custom repository.
Hereβs an example of what the nuget.config file should look like:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="ThunderPropagator" value="https://nuget.pkg.github.com/KiarashMinoo/index.json" />
</packageSources>
</configuration>
Place the nuget.config file in the root of your solution or project directory. This ensures that all projects in the solution can access the GitHub Packages repository.
Step 2: Verify the Configuration
To verify that the GitHub Packages repository is correctly configured, you can use the following command:
dotnet nuget list source
You should see output similar to:
Registered Sources:
1. nuget.org [Enabled]
https://api.nuget.org/v3/index.json
2. ThunderPropagator [Enabled]
https://nuget.pkg.github.com/KiarashMinoo/index.json
Step 3: Build and Restore Packages
After configuring the NuGet sources, restore and build your project:
dotnet restore
dotnet build -c Release
Step 4: Install ThunderPropagator Packages
You can now install the messaging system packages you need. Examples:
High-throughput streaming (Kafka):
dotnet add package ThunderPropagator.Feeders.Kafka
dotnet add package ThunderPropagator.Providers.DotNet.Kafka
Reliable messaging (RabbitMQ):
dotnet add package ThunderPropagator.Feeders.RabbitMQ
dotnet add package ThunderPropagator.Providers.DotNet.RabbitMQ
Real-time web communication (WebSocket):
dotnet add package ThunderPropagator.Feeders.WebSocket
dotnet add package ThunderPropagator.Providers.DotNet.WebSocket
See Documentation for complete package listing.
Quick Start
1. Basic Message Producer
// Define your message
public class OrderEvent : RabbitMQProviderMessage
{
public string OrderId { get; set; }
public decimal Amount { get; set; }
public DateTime OrderDate { get; set; }
}
// Define configuration
public class OrderConfig : RabbitMQProviderConfiguration { }
// Register in DI container
services.AddRabbitMQProvider<OrderEvent, OrderConfig>(
configuration, "Messaging:RabbitMQ");
// Use in your service
public class OrderService
{
private readonly IProvider<OrderEvent> _provider;
public OrderService(IProvider<OrderEvent> provider)
{
_provider = provider;
}
public async Task ProcessOrderAsync(Order order)
{
await _provider.ExecuteAsync(new OrderEvent
{
OrderId = order.Id,
Amount = order.Total,
OrderDate = DateTime.UtcNow
});
}
}
2. Configuration Example
{
"Messaging": {
"RabbitMQ": {
"HostName": "localhost",
"Port": 5672,
"UserName": "guest",
"Password": "guest",
"ExchangeName": "orders",
"QueueName": "order-processing",
"RoutingKey": "order.created"
}
}
}
π View Complete Documentation for detailed examples, configuration options, and best practices.
License
This project is licensed under the Apache-2.0 License.
Β© 2024 ThunderPropagator Corporation. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- NJsonSchema.Annotations (>= 11.5.2)
- RabbitMQ.Client (>= 7.2.0)
- ThunderPropagator.BuildingBlocks.Debug (>= 1.0.1-beta.14)
-
net8.0
- NJsonSchema.Annotations (>= 11.5.2)
- RabbitMQ.Client (>= 7.2.0)
- ThunderPropagator.BuildingBlocks.Debug (>= 1.0.1-beta.14)
-
net9.0
- NJsonSchema.Annotations (>= 11.5.2)
- RabbitMQ.Client (>= 7.2.0)
- ThunderPropagator.BuildingBlocks.Debug (>= 1.0.1-beta.14)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-beta.1 | 47 | 12/29/2025 |
- fix: revert version to 1.0.0 from 1.0.1-beta.3