-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support to route to multiple ASB topics in the same namespace #48
Comments
Hi @marcselis I replied in the other thread in the ASB transport repo. If I understand correctly your scenario, it is possible to configure it with the current version of the Router. |
Ok, I'm currently sick at home, but I'll have a look at it when I'm back at work. |
If I understand your sample correctly, you propose to setup a router with 1 channel for SQL transport and a separate channel for each ASB topic. This can work, but we currently have 22 schema's in the SQL transport and I expect in a few years to also reach that same number of topics. |
Yes, I don't see any obvious problems there. An alternative solution could be to try to create a forwarding role between topics. I think that should be possible to create in Azure Service Bus. This is not supported by Router or NServiceBus so it would require manual maintenance but given you are going to make a heavy use of it, it might be worth developing a custom little tool that can connect the topics with forwarding and manage that.
One interface on the SQL side is enough because the SQL Server transport is catalog-aware. It can router between catalogs and schemas without external help. |
Thanks @SzymonPobiega for the confirmation, but I think this is way to overcomplicated. Topics in ASB are not used to physically divide endpoints in groups. They are only used while publishing an event. The subscriptions for a topic and their filters determine in what queue the published event will be placed for processing. When routing a message or command between SQL and ASB, the topic is not important as the message can be deliverd directly in the destination endpoint's queue. The same is true when routing a message between ASB & SQL. The 'topic' problem only comes into play when a SQL endpoint wants to subscribe to an event published by an ASB endpoint. It would be much simpler if the "destination part" of the subscription message would just contain the destination that will handle the subscription. In an ASB or RabbitMQ channel this could just be as simple as the Topic name where to create the subscription in. That would eliminate the need for having all those different ASB channels. |
When setting up a router between a multi-schema SQL transport & a multi-topic ASB transport all subscriptions are created in the routers own ASB topic, instead of the topic where the event is published, causing the SQL subscribers not to receive the event.
Please see Azure Service Bus Transport issue #511 for more context.
The text was updated successfully, but these errors were encountered: