如何托管MassTransit和RabbitMq

问题描述 投票:3回答:2

我们正在努力建立一个类似下面的体系结构,但我们将在云上提供微服务,一些内部将使用队列和总线相互通信,

RabbitMQ implementation of an event bus

现在我对我们应该托管MassTransit和RabbitMq的地方感到困惑,它本身也应该是一个ASP.NET核心项目吗?如果是的话我会做什么呢?开公共汽车?创建队列?我无法继续前进

rabbitmq cloud microservices masstransit queuing
2个回答
3
投票

简单的MassTransit示例就是与队列交互的绝对最简单的示例。

  1. RabbitMQ是您的消息代理。它是单独托管的。
  2. MassTransit是一个开发框架,通过抽象出特定于实现的“管道”,可以更轻松地与RabbitMQ(或Azure Service Bus)进行交互。
  3. 您可以编写任意数量的.NET服务,这些服务可以将消息发布到队列,也可以订阅队列。

2
投票

我们最近在做类似的事情,我们这样做的方式是:

RabbitMQ是单独托管的,并且使用消息传递的服务完成了总线/队列的创建和管理。

对于接收消息的每个服务,您使用Maastransit创建队列,因为服务将使用此队列接收消息。

您将使用发布/订阅消息传递方式,如上所述,在每个服务中,创建一个具有逻辑名称的队列并连接到RabbitMQ服务器地址。

代表发件人的服务将发布您创建的自定义类型的消息,代表接收者的服务将通过在创建的总线内注册此类型的使用者来订阅此类消息。

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.