Posted By:
David_McCullough
Posted On:
Tuesday, April 18, 2006 12:31 PM
I've read the FAQ "How are durable subscriptions handled in a router network?" and I'm wondering why durable subscriptions are not stored persistently. The scenario we have here at work is where we have multiple branch routers connected to a single "enterprise" router. The enterprise has the listener defined and the branches have connectors pointing at the listener. When a new store is added, no changes are required at the enterprise to bring the new store into the network - you just point the store at the enterprise and you're ready to go. This is a nice feature of Swift. The problem is, since the durable subscriptions from the stores are not persisted, messages can be lost in certain scenarios: Suppose
More>>
I've read the FAQ "How are durable subscriptions handled in a router network?" and I'm wondering why durable subscriptions are not stored persistently.
The scenario we have here at work is where we have multiple branch routers connected to a single "enterprise" router. The enterprise has the listener defined and the branches have connectors pointing at the listener. When a new store is added, no changes are required at the enterprise to bring the new store into the network - you just point the store at the enterprise and you're ready to go. This is a nice feature of Swift.
The problem is, since the durable subscriptions from the stores are not persisted, messages can be lost in certain scenarios: Suppose both a store and the enterprise are up, with the store receiving messages from the enterprise on a durable susscription. Suppose now that they both go down, and that the enterprise is the first to be brought up and that it start publishing messages again before the store is brought back up. These interim messages will never be seen by the store.
I know that a way around this issue is to use Static Remote Subscriptions, but I don't like the idea of having to "hardcode" the list of subscribed topics of a client (the store) in the server (enterprise). I'd rather let the client decide what it wants to subscribe to dynamically. More importantly, though, is I don't want to have to touch the enterprise configuration every time I add a new store.
Could you consider persisting the remote durables in a future release?
Thanks.
<<Less