【发布时间】:2020-12-02 15:21:21
【问题描述】:
我正在使用 MassTransit 和本地主机上的 RabbitMQ 和实时环境上的 AWS 将自己介绍给事件驱动架构,使用 .NET 5 Web API.
我有一个生成事件的 API (#API-1),例如 EntityCreated、EntityUpdated、EntityDeleted强>等
然后我有另一个 API (#API-2) 存储实体的内存副本。此 #API-2 必须订阅这些事件才能更新其本地缓存。 #API-2 将有多个正在运行的实例,比如说 3。
- 我应该如何配置 #API-2 以便所有实例都收到相同的消息?
生产者配置 (#API-1):
services.AddMassTransit(x =>
{
x.UsingRabbitMq();
});
services.AddMassTransitHostedService();
消费者配置(#API-2):
services.AddMassTransit(x =>
{
x.AddConsumer<EntityCreatedConsumer>();
x.AddConsumer<EntityUpdatedConsumer>();
x.AddConsumer<EntityDeletedConsumer>();
x.UsingRabbitMq((context, cfg) =>
{
cfg.ConfigureEndpoints(context);
});
});
services.AddMassTransitHostedService();
【问题讨论】:
标签: asp.net rabbitmq queue publish-subscribe masstransit