Closed
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