-
Notifications
You must be signed in to change notification settings - Fork 107
Closed
Labels
integrationA new .NET Aspire integrationA new .NET Aspire integration
Description
Related to an existing integration?
No
Existing integration
No response
Overview
Add support for a LavinMQ container resource.
LavinMQ is a wire compatible AMQP server thats a drop in replacement for RabbitMQ.
It's largely more performant, requiring less system resources (about 30mb ram for example at idle) to run.
Unlike RabbitMQ which uses a plugin based approach, the management console is built into the lavinmq binary and always enabled.
This integration would be compatible with the existing MassTransit.RabbitMQ package
Usage example
var builder = DistributedApplication.CreateBuilder(args);
var lavinmq = builder.AddLavinMQ(
name: "lavinmq",
port: 5672,
managementPort: 15672)
.WithExternalHttpEndpoints();
var api = builder.AddProject<Projects.CommunityToolkit_Aspire_MassTransit_RabbitMQ_ApiService>("api")
.WithReference(lavinmq).WaitFor(lavinmq);
builder.AddProject<Projects.CommunityToolkit_Aspire_MassTransit_RabbitMQ_Publisher>("publisher")
.WaitFor(api).WaitFor(lavinmq).WithReference(lavinmq);
builder.Build().Run();
Breaking change?
No
Alternatives
var builder = DistributedApplication.CreateBuilder(args);
var rmq = builder.AddRabbitMQ(
name: "rmq",
port: 5672)
.WithExternalHttpEndpoints()
.WithManagementPlugin(port: 15672);
var api = builder.AddProject<Projects.CommunityToolkit_Aspire_MassTransit_RabbitMQ_ApiService>("api")
.WaitFor(rmq).WithReference(rmq);
builder.AddProject<Projects.CommunityToolkit_Aspire_MassTransit_RabbitMQ_Publisher>("publisher")
.WaitFor(api).WaitFor(rmq).WithReference(rmq);
builder.Build().Run();
Additional context
No response
Help us help you
Yes, I'd like to be assigned to work on this item
Metadata
Metadata
Assignees
Labels
integrationA new .NET Aspire integrationA new .NET Aspire integration