The chosen embedded JMS topology

 

Figure 15-14 Example topology for Trade3 and embedded JMS

This topology has been chosen because:

  1. It is low cost. Only two physical machines are needed and there is no requirement for HA hardware or software.

  2. Messaging workload will be spread across two JMS servers.

  3. The chance of a failure affecting processing of messages is reduced. There is no obvious single point of failure where there would be if just one JMS server was used. But there is still an issue, should either the JMS server or the appserver fail on either machine then problems occur. Either messages will be waiting to be processed because the application server has stopped, or the application server will not be able to send messages because the JMS server has stopped.

The impact of the JMS server stopping can be minimized by using persistent messages. When the JMS Server eventually starts up again, the messages it had received will be processed. Failure in sending of messages can be avoided by changing the Trade3 code to have two QCFs to try, one pointing to each JMS server. Upon sending a message if the first QCF fails to respond then the second could be used. This is shown by the dotted line in Figure 15-14. (This code change will not be made for this example).

Although the JMS servers are local to the appservers, the Embedded JMS server is always accessed using the CLIENT method. This is because this is the only way it can achieve the correct level of authentication. The performance improvement of having the JMS servers local to the application servers is not as significant as having local MQ servers and using the BINDINGS communication mechanism.

Note Unfortunately using this topology will break one of the functional requirements of the publish/subscribe components of Trade3, only one message broker should be used as all publications need to reach all servers. But it is necessary to do this to show the setup steps and it also serves to demonstrate how easily the topology choice can break the functional requirements for messaging.

 Prev | Next

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.