2
votes

I'm developing a web application subscribing to NServiceBus events being published by a backend application. With one worker process this works as expected, but with multiple IIS worker processes on the same IIS server, only one process receives the events. I suppose this is due to all worker processes sharing the same input queue and therefore "stealing" events from each other. My question therefore is how to ensure that the event handlers in every worker process receive the events they have subscribed to?

While generating input queue names dynamically would solve the problem, it would soon leave a lot of unused queues around the system.

This sounds like a pretty common problem and so should have a common solution?

ANy feedback would be appreciated

/Magnus

1
What does the web site do with the messages? Typically web endpoints only send messages.Adam Fyles
We have JS components fetching data from a 3rd party WS. For authentication, a session token needs to be supplied in the JS code. For the 3rd party WS we have been given 4 different login accounts, each configured by the vendor to supply data relevant to the needs of each of our 4 different customer groups. A backend application handles logging in and keeping alive these 4 sessions. Whenever a connection is established, or a keep-alive is successfully performed, an event is published on the bus. Each MVC app listens for these events and ensures that valid session tokens are output to JS/HTML.user3429570
Any ideas how to accomplish the same in a simpler/better way, that also would support web gardens?user3429570
Check out this reference for using SignalR: stackoverflow.com/questions/17180897/…Adam Fyles

1 Answers

0
votes

Unfortunately NServiceBus does not support web gardens.

We will consider adding support for web gardens in the future, based on user demand. We suggest for the mean time to consider virtualization as a scale out solution instead.

I have raised an issue, see https://github.com/Particular/NServiceBus/issues/2015, please consider adding extra comments to the issue.