MassTransit:如何向特定消费者发送消息?
MassTransit: how to send a message to specific consumers?
抱歉,如果我的问题很愚蠢,我是 MassTransit 的新手。
我的系统由一个服务器和多个客户端设备组成。
我想从服务器向特定客户端或一组客户端发送消息。
据我了解,IBusControl.Publish
将消息发送给所有订阅者,IBusControl.Send
发送给唯一的订阅者。
如何使用 MassTransit 实现此目的?
我的传输是 RabbitMQ / Azure 服务总线。
谢谢!
MassTransit 实施标准消息传递模式,这些模式不是 MassTransit 特定的。点对点、发布订阅、无效消息通道、死信通道等:
您确实可以选择使用 Send
向一个消费者发送消息和使用 Publish
.
向该消息类型的所有订阅者广播消息
其他一切都可以通过向消费者添加代码轻松完成:
await bus.Publish(new MyMessage { ReceiverGroup = "group1", ... });
和
public async Task Consume(IContext<MyMessage> context)
{
if (context.Message.ReceiverGroup != myGroup) return;
...
}
抱歉,如果我的问题很愚蠢,我是 MassTransit 的新手。
我的系统由一个服务器和多个客户端设备组成。
我想从服务器向特定客户端或一组客户端发送消息。
据我了解,IBusControl.Publish
将消息发送给所有订阅者,IBusControl.Send
发送给唯一的订阅者。
如何使用 MassTransit 实现此目的? 我的传输是 RabbitMQ / Azure 服务总线。
谢谢!
MassTransit 实施标准消息传递模式,这些模式不是 MassTransit 特定的。点对点、发布订阅、无效消息通道、死信通道等:
您确实可以选择使用 Send
向一个消费者发送消息和使用 Publish
.
其他一切都可以通过向消费者添加代码轻松完成:
await bus.Publish(new MyMessage { ReceiverGroup = "group1", ... });
和
public async Task Consume(IContext<MyMessage> context)
{
if (context.Message.ReceiverGroup != myGroup) return;
...
}