Anixe.IO.Messaging
4.0.0
dotnet add package Anixe.IO.Messaging --version 4.0.0
NuGet\Install-Package Anixe.IO.Messaging -Version 4.0.0
<PackageReference Include="Anixe.IO.Messaging" Version="4.0.0" />
paket add Anixe.IO.Messaging --version 4.0.0
#r "nuget: Anixe.IO.Messaging, 4.0.0"
// Install Anixe.IO.Messaging as a Cake Addin #addin nuget:?package=Anixe.IO.Messaging&version=4.0.0 // Install Anixe.IO.Messaging as a Cake Tool #tool nuget:?package=Anixe.IO.Messaging&version=4.0.0
Anixe.IO.Messaging
This project implements RECS (Resfinity Entity Consistency System) convention into the Rabbitmq broker. RECS has 3 actors:
- publisher - sends entity to the rabbitmq (ConfirmedMessagingService class)
- subscriber - receives enities from rabbitma via topich exchange with routing key binding (Subscription class). It has upscaling and downscaling considered thanks random queue names.
- rabbitmq - the broker with topic exchanges and queues bind to these exchanges with routing key
Check the Anixe.IO.Messaging.ConsoleApp
project for example.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net6.0
- Anixe.IO (>= 4.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- RabbitMQ.Client (>= 6.8.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Anixe.IO.Messaging:
Package | Downloads |
---|---|
Anixe.IO.Messaging.AspCore
Package Description |
|
Anixe.IO.Messaging.Serializer
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
4.0.0 | 6,179 | 1/8/2024 | |
3.0.1 | 737 | 12/4/2023 | |
3.0.0 | 4,849 | 11/22/2022 | |
2.2.2 | 1,650 | 11/22/2022 | |
2.2.1 | 331 | 11/14/2022 | |
2.2.0 | 589 | 10/18/2022 | |
2.1.3 | 1,289 | 10/18/2022 | |
2.1.2 | 6,325 | 3/14/2022 | |
2.1.1 | 6,652 | 11/4/2021 | |
2.1.0 | 7,096 | 8/31/2021 | |
2.0.1 | 1,928 | 7/8/2021 | |
2.0.0 | 3,036 | 4/16/2021 | |
1.1.17 | 1,580 | 4/9/2021 | |
1.1.16 | 1,003 | 1/27/2021 | |
1.1.15 | 724 | 11/16/2020 | |
1.1.14 | 442 | 11/2/2020 | |
1.1.13 | 1,361 | 10/22/2020 | |
1.1.12 | 703 | 10/22/2020 | |
1.1.11 | 590 | 9/29/2020 | |
1.1.10 | 2,603 | 7/1/2020 | |
1.1.9 | 2,065 | 5/21/2020 | |
1.1.8 | 797 | 5/19/2020 | |
1.1.7 | 1,249 | 5/8/2020 | |
1.1.6 | 1,118 | 4/20/2020 | |
1.1.5 | 683 | 4/17/2020 | |
1.1.4 | 809 | 4/15/2020 | |
1.1.2 | 1,044 | 3/30/2020 | |
1.1.0 | 653 | 3/26/2020 | |
1.0.6 | 627 | 3/20/2020 | |
1.0.5 | 510 | 3/19/2020 | |
1.0.4 | 647 | 3/19/2020 | |
1.0.3 | 754 | 3/13/2020 | |
1.0.2 | 549 | 3/11/2020 | |
1.0.1 | 714 | 3/4/2020 | |
1.0.0 | 720 | 2/27/2020 |
# Anixe.IO.Messaging CHANGELOG
## 4.0.0 - 2024-01-03
- Update Anixe.IO to 4.0.0
- Updated RabbitMQ.Client to 6.8.1
- Updated Microsoft.Extensions.Hosting.Abstractions from 7.0.0 to 8.0.0
## 3.0.1 - 2023-12-05
- Fix missing nullable annotation in Anixe.IO.Messaging.Core.Subscription.CreateConsumer(handler)
- Fix none of subscription events logged when no handlers are defined
- Reduce logging overhead in some cases
- Update Anixe.IO to 3.1.0
## 3.0.0 - 2022-11-16
- Drop support of older .NET versions, only .NET 6.0 left
- Updated Microsoft.Extensions.Hosting.Abstractions from 3.1.18 to 7.0.0
- Reduced heap allocation when serializing dates in message to JSON
## 2.2.1 - 2022-11-14
- Fix StackOverflowException while trying write `new object()` in NotificationMessage.Data
## 2.2.0 - 2022-10-18; Damian Jaszczurowski
- Extend SubscriberConfiguration with RegisterConsumersOnly flag, allowing for message consuming from queues declared externally
## 2.1.3 - 2022-10-18
- Updated RabbitMQ.Client to 6.4.0
## 2.1.2 - 2022-03-10
- Added more detailed logging in case of exception
## 2.1.1 - 2021-11-04
- Added handling yyyyMMddTHH:mm:ss.fffZ date format in ts_utc
## 2.1.0 - 2021-08-31
- Updated RabbitMQ.Client to 6.2.2
- Updated System.Text.Json to 5.0.2
- Updated Microsoft.Extensions.Hosting.Abstractions to 3.1.18
- Updated Anixe.IO to 2.1.0
## 2.0.1 - 2021-07-08
### Added
- License information in package metadata
## 1.1.17 - 2021-04-08
### Added
- Configuration option to create durable exchange
## 2.0 - 2021-04-14
### Added
- [Behavioral Change] Exchange is durable by default (for producers)
- [Behavioral Change] Queue is not exclusive by default anymore. It helps to delete queue from rabbitmq side and renew topology for this queue from subscriber's side.
- [Behavioral Change] Add prefetch declaration with 1 size as default (for consumers) to avoid memory pressure
- [New Feature] Add configurable heartbeath interval
- [New Feature] Add naming convention for unnamed queues to be able to find subsciber by queue name "<app>-<topic>-<random>"
- [Behavioral Change] Enchance hosted service to keep subscriptions up and running based on consumer's `IsRunning` flag
- [Behavioral Change] Add logging from events received from the Rabbitmq broker
- [Breaking Change] IListenerService.Listen method returns collection of `Subscription` instances for those who don't want to use `ListenerHostedService` (net framework)
- [New Feature] Add forcing reconnection with topology renew from host application via `ISubscriberReloader` singleton
- [New Feature] Add possibility to pass custom arguments to exchange declaration by producer and consumer
### Removed
- Remove Polly dependency. Retry has been replaced by internal strategy.