Announcement Announcement Module
No announcement yet.
Will a resequencer work in a clustered environment? Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Will a resequencer work in a clustered environment?

    We have a problem with sequencing our messages which looks like it could be solved by the use of the 'Resequencer'. The only concern I have is will it work properly in our clustered environment.

    If I explain a bit about our setup it might make it clearer. We are currently using Spring Integration 1.0 on a Weblogic clustered environment with 2 app servers.

    We have a setup such as:

    Component A -> Queue* -> Component B -> Queue* -> Component C

    * Distributed Uniform Queue.

    We have a feed pumping messages into Component A. The message could go to either machine in the cluser.

    The message contains a number of events that need to be processed. The events have sequence numbers on them so we can ascertain the correct order.

    The problem we have is that we may get a very large file sent to machine 1 in the cluster and this starts processing its way through the events. Shortly after machine 2 receives a much smaller file and sends these on and now we have messages which have been overtaken.

    The resequencer looks ideal as we are concerned that the external feed may drop messages so we would like the ability to send them on after a specified timeout period.

    The concern we have is that because the queues are distributed across the cluster the message can jump from one machine to the other at any point. Therefore if we put a requencer on then we will actually end up with 1 per box rather than 1 across the queue (I may not have explained that as well as I could).

    Does anyone else have this kind of problem and how have they solved it?