![]() |
VOOZH | about |
dotnet add package AspNetCore.HealthChecks.Rabbitmq --version 9.0.0
NuGet\Install-Package AspNetCore.HealthChecks.Rabbitmq -Version 9.0.0
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="9.0.0" />
<PackageVersion Include="AspNetCore.HealthChecks.Rabbitmq" Version="9.0.0" />Directory.Packages.props
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" />Project file
paket add AspNetCore.HealthChecks.Rabbitmq --version 9.0.0
#r "nuget: AspNetCore.HealthChecks.Rabbitmq, 9.0.0"
#:package AspNetCore.HealthChecks.Rabbitmq@9.0.0
#addin nuget:?package=AspNetCore.HealthChecks.Rabbitmq&version=9.0.0Install as a Cake Addin
#tool nuget:?package=AspNetCore.HealthChecks.Rabbitmq&version=9.0.0Install as a Cake Tool
This health check verifies the ability to communicate with a RabbitMQ server
With all of the following examples, you can additionally add the following parameters:
name: The health check name. Default if not specified is rabbitmq.failureStatus: The HealthStatus that should be reported when the health check fails. Default is HealthStatus.Unhealthy.tags: A list of tags that can be used to filter sets of health checks.timeout: A System.TimeSpan representing the timeout of the check.IConnectionAs per RabbitMQ docs and its suggestions on high connectivity churn, connections are meant to be long lived. Ideally, this should be configured as a singleton. The health check should use the same IConnection instance that is used in the application.
public void ConfigureServices(IServiceCollection services)
{
services
.AddSingleton<IConnection>(sp =>
{
var factory = new ConnectionFactory
{
Uri = new Uri("amqps://user:pass@host/vhost"),
};
return factory.CreateConnectionAsync().GetAwaiter().GetResult();
})
.AddHealthChecks()
.AddRabbitMQ();
}
Alternatively, you can create the connection outside of the dependency injection container and use it in the health check.
public void ConfigureServices(IServiceCollection services)
{
services
.AddHealthChecks()
.AddRabbitMQ(sp => connectionTask.Value);
}
private static readonly Lazy<Task<IConnection>> connectionTask = new Lazy<Task<IConnection>>(CreateConnection);
private static async Task<IConnection> CreateConnection()
{
var factory = new ConnectionFactory
{
Uri = new Uri("amqps://user:pass@host/vhost"),
};
return await factory.CreateConnectionAsync();
}
RabbitMQHealthCheck was letting the users specify how IConnection should be created (from raw connection string or from Uri or from IConnectionFactory), at a cost of maintaining an internal, static client instances cache. Now the type does not create client instances nor maintain an internal cache and it's the caller responsibility to provide the instance of IConnection (please see #2048 for more details). Since RabbitMQ recommends reusing client instances since they can be expensive to create, it's recommended to register a singleton factory method for IConnection. So the client is created only when needed and once per whole application lifetime.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 was computed. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 5 NuGet packages that depend on AspNetCore.HealthChecks.Rabbitmq:
| Package | Downloads |
|---|---|
|
Reo.Core.Queue.RabbitMq
Package Description |
|
|
Reo.Core.Queue
Package Description |
|
|
Aspire.Hosting.RabbitMQ
RabbitMQ support for Aspire. |
|
|
Aspire.RabbitMQ.Client
A RabbitMQ client that integrates with Aspire, including health checks, logging, and telemetry. |
|
|
Reo.Core.Queue.MassTransit.Abstractions
Package Description |
Showing the top 20 popular GitHub repositories that depend on AspNetCore.HealthChecks.Rabbitmq:
| Repository | Stars |
|---|---|
|
microsoft/aspire
Aspire is the tool for code-first, extensible, observable dev and deploy.
|
|
|
AlphaYu/adnc
A pragmatic .NET 8 framework for modular monoliths to evolve seamlessly into distributed microservices.
|
|
|
meysamhadeli/booking-microservices
A practical microservices with the latest technologies and architectures like Vertical Slice Architecture, Event Sourcing, CQRS, DDD, gRpc, MongoDB, RabbitMq, Masstransit, and Aspire in .Net 10.
|
|
|
desenvolvedor-io/dev-store
A microservices e-commerce reference application built with ASP.NET 9
|
|
|
mehdihadeli/food-delivery-microservices
🍔 A practical and cloud-native food delivery microservices, built with .Net Aspire, .Net 9, MassTransit, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
|
|
|
CommunityToolkit/Aspire
A community project with additional components and extensions for Aspire
|
|
|
meysamhadeli/booking-modular-monolith
A practical Modular Monolith architecture with the latest technologies and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, DDD, gRpc, Masstransit, and Aspire in .Net 10.
|
|
|
fals/cqrs-clean-eventual-consistency
CQRS, using Clean Architecture, multiple databases and Eventual Consistency
|
|
|
thangchung/practical-dotnet-aspire
The practical .NET Aspire builds on the coffeeshop app business domain
|
|
|
mehdihadeli/food-delivery-modular-monolith
🌭 A practical and imaginary food and grocery delivery modular monolith, built with .Net 8, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
|
|
|
charlessolar/eShopOnContainersDDD
Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
|
|
|
ivaylokenov/Architecture-of-ASP.NET-Core-Microservices-Applications
Architecture of ASP.NET Core Microservices Applications
|
|
|
alex289/CleanArchitecture
Sample .NET 10 API project including Clean Architecture principles, Onion Architecture, MediatR, and Entity Framework with unit and integration tests using xUnit
|
|
| ElectNewt/Distribt | |
| witskeeper/geektime | |
|
vany0114/microservices-dotnetcore-docker-sf-k8s
Shows an approach to work with a microservices based architecture using .Net Core, Docker, and Azure Service Fabric/Kubernetes, applying Domain Driven Design (DDD) and Comand and Query Responsibility Segregation (CQRS) and other patterns.
|
|
|
alperenkucukali/dotnet-microservices
This project is a sample of microservices architecture with .NET 8.
|
|
|
marinasundstrom/YourBrand
Prototype enterprise system for e-commerce and consulting services
|
|
|
buraksenyurt/DistributedChallenge
Bu repoda aslında asenkron mesaj kuyruklarını hedef alan bir dağıtık sistem problemi oluşturmaya ve bu problemin çözümünü uygulamaya çalışıyorum.
|
|
|
kalintsenkov/BettingSystem
ASP.NET Core | Domain-Driven Design | Clean Architecture
|
| Version | Downloads | Last Updated |
|---|---|---|
| 9.0.0 | 7,312,505 | 12/19/2024 |
| 8.0.2 | 4,810,486 | 9/3/2024 |
| 8.0.1 | 3,366,595 | 4/2/2024 |
| 8.0.0 | 2,285,662 | 12/15/2023 |
| 7.0.0 | 1,765,497 | 7/30/2023 |
| 7.0.0-rc2.7 | 70,080 | 3/13/2023 |
| 7.0.0-rc2.6 | 15,944 | 1/14/2023 |
| 7.0.0-rc2.5 | 15,236 | 12/27/2022 |
| 7.0.0-rc2.4 | 395 | 12/27/2022 |
| 6.0.2 | 16,337,819 | 2/28/2022 |
| 6.0.1 | 1,312,186 | 12/29/2021 |
| 6.0.1-rc2.3 | 50,217 | 11/10/2021 |
| 6.0.1-rc1.1 | 1,195 | 11/5/2021 |
| 6.0.0 | 139,438 | 12/29/2021 |
| 5.0.2 | 1,184,312 | 11/4/2021 |
| 5.0.1 | 2,266,932 | 1/5/2021 |
| 5.0.0 | 95,999 | 12/29/2020 |
| 5.0.0-preview1 | 8,151 | 11/22/2020 |
| 3.1.4 | 3,610,597 | 7/22/2020 |
| 3.1.3 | 79,619 | 7/22/2020 |