Hi,

*Problem:*

In the current appfactory setup all the application containers (AS)
notifies on application life cycle events (deployment, undeployment); this
is because the deployment event listeners directly send messages to
appfactory . This approach works well for a single node deployment . But it
will cause unwanted noise (which will ultimately be several copies of the
same message on the notification wall) in a clustered environment, also
this will cause unwanted traffic towards appfactory. So it is important to
limit notifications from the container level.

*Solution:*

Requirement is to send notifications only from a single appserver node in
the cluster.

For this we have to choose a single candidate from the cluster, and make
him as the notifier node.

 Candidate selection method:

This can be achieved using Stratos topology information. Topology(which is
published every 60secs) have information about currently active cluster
nodes.

Application notifiers will subscribe to this topology topic and choose to
be the notifier based on the following criteria.

1.)  If the topology contains the IP of the node.
      Note : This is important because there might be cases where IP is not
in the topology but the instance is active.

2.)  If the IP is the highest IP in the available topology.


Related Jira : https://wso2.org/jira/browse/APPFAC-2271


Regards,

-- 
*Anuruddha Premalal*
Software Eng. | WSO2 Inc.
Mobile : +94710461070
Web site : www.regilandvalley.com

"Advances of technology should not leave behind the developing world"
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to