我通过 shovel 链接 rmq 实例和 azure 服务总线,并使用 masstransit 发送/接收消息。我可以成功地向 rmq 发送消息并在服务总线中看到它,但无法使用公共交通接收。我认为这是因为有不同的消息签名。也许有人有类似的经历。谢谢
问问题
65 次
1 回答
0
MassTransit 完全支持 RabbitMQ,包括许多高级特性和功能。
MassTransit 可以连接到 RabbitMQ 虚拟主机集群并将它们视为单个虚拟主机。
MassTransit 包括几个控制接收端点行为的接收端点级配置选项。
要配置 MassTransit,必须指定主机和虚拟主机,并且必须配置UseSsl 。
将 Azure 服务总线与 MassTransit 结合使用时,除了常规终结点之外,您还可以添加订阅终结点。
配置订阅端点时,您应该能够指定规则和/或过滤器作为订阅的一部分。
您需要在接收端点中为该类型添加消息使用者。上面的代码没有消费者,所以没有类型绑定。
class YourConsumer :
IConsumer<RegisterNewCustomerCommand>
{}
cfg.ReceiveEndpoint("your_queue", x =>
{
x.Consumer<YourConsumer>();
});
然后您将拥有一个接受该消息类型的消费者,这将导致 MassTransit 将主题绑定到队列。
请参阅将 MassTransit 与 RabbitMQ 一起使用、发送消息 、MassTransit + RabbitMQ 与 .Net Core和示例
于 2021-10-19T08:23:01.757 回答