If several ESB instances are running with the same services deployed it seems to me that
some event listeners needs to be cluster-singletons. (Only active on one node at the
time)
For example if you use the ScheduledListener in your service and it's deployed on
several ESB in a cluster they may trigger exact at the same time and that may be a problem
if you can't allow that concurrency.
One solution is to only deploy the service on one of the ESB, but then you lose the high
availability of the cluster. Is there any solution for this in the ESB?
A solution could be to extend the needed listener with the following Singleton solution
(based on a JGroups stack shared by all nodes) before actual triggering:
Check for a parameter to the Listener that states an integer and check that against the
JGroups list of members. If the current node is the member of the location pointed by the
integer then go ahead and run otherwise stop. (If the integer is greater than the length
of the list just execute your standard modulo operation). This will give the possibility
to spread the load on several nodes and not just on the master. (As the Application
Servers singelton service does)
|
| /Anders W.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4135316#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...