• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

JMS Load Balancing In Websphere V7.0

 
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have a JMS server running on a clustered environment with Request and Response queues.
It accepts a request and puts into a queue. The requests from the queue are then send to one of the nodes for processing where my MDB(On each node) is there. The problem is when one request is heavy and the one just following is light. The heavy request takes a long time to process and the light request is forced to wait until the former is done. Is it possible in IBM Websphere v7.0 ND to send the request to different servers at a time(or maybe more) so that a single request does not hijack all the resources? If yes, do we need a configuration change or we need to write a custom component for that?...

Many Thanks :-)
 
Sheeraz Junejo
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I found some information regarding this. To achieve this first we need to cluster the JMS Server and then WAS or JMS Server will load balance the request. BUT BUT...if you are using IBM WMQ Server as you JMS Cluster then there is catch....which is that response will always going to be on local queue. Let me explain, let say you have WAS Cluster which have four servers,
1) Server1 and Server2 are for Application hosting [as web servers]
2) Server3 and Server4 are configured to access WMQ Cluster [as J2EE servers].
3) WMQ Cluster is exposing two queues to the outside world (let say it has two queue managers internally but we do not need to go in depth of WMQ cluster at this stage).
4) Now application hosted on Server2 has generated a message which will initially be placed into its local queue and then load balanced to the clustered queue, where it will be consumed by MDB, MDB will process the request and put message back on response queue and theoretically your application should consume this message (response) but it will not until it will be put back on Server2 local response queue. The work around for this limitation is to always set 'replyTo' property while generating message from your application and check this property within your MDB before posting a response.

Hope this helps,

--

Sjunejo
 
The government thinks you are too stupid to make your own lightbulb choices. But this tiny ad thinks you are smart:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic