Rebus subscriber-publisher system. Process message only by single subscriber
我有一个发布者几个订阅者的系统。但有些消息只能由单个订阅者处理。在我的情况下,发布者发送有关更改数据库中数据的消息,所有订阅者都可以访问同一个数据库,但我不需要他们都更改相同的数据。
如何使用 rebus 实现这一点?
PS。忘了提。我不能只订阅一个订阅者的消息,因为订阅者可以一直在线/离线。
But some messages should be processed only by single subscriber
那么您不应该将
你这样做(1)是这样的:
1 2 3 4 5 6 7 | Configure.With(...) .(...) .Routing(r => { r.TypeBased() .Map<YourMessage>("the_recipient"); }) .Start(); |
因此告诉 Rebus,从队列
你这样做 (2) 像这样:
1 | await bus.Send(new YourMessage(...)); |
然后 Rebus 会将消息发送给消息的自然所有者。
我希望这对你有用:)