Hi all,

Currnetly in MB, we have used Hazelcast to handle all cluster operations
such as coordinator election, cluster notification synchronization, etc.
When the network partitions, the cluster ends up in a messy situation where
following issues are prominent.

   - multiple coordinators are elected
   - cluster-wide notifications are not sent

In order to resolve the issue of multiple coordinators being elected, we
have implemented an RDBMS based coordinator election mechanism and a
discussion on that can be found in the mail thread with the subject [1]

In order to resolve the issue of cluster-wide notification synchronization,
we are planning to implement a method based on RDBMS and the details are as
follows:

*Cluster notification types that are being sent:*

   - Queue changes (Add, Delete, Purge)
   - Binding changes(Add, Delete)
   - Exchange changes (Add, Delete)
   - Subscription changes (Add, Delete, Disconnect)

*Existing method of cluster communication using Hazelcast:*
We have used Hazelcast Reliable topics for all of the above notification
types and have added each node in the cluster as a subscriber to these
topics.

*Proposed implementation using RDBMS:*
The node that generates a cluster notification will duplicate it according
to the number of nodes in the cluster and store it in a table. Each node
will periodically check for the existence of a notification in the table
destined to it and process accordingly.

Thoughts?

[1] "[Architecture] RDBMS based coordinator election algorithm for MB"

-- 
Sasikala Kottegoda
*Software Engineer*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928

[image: https://wso2.com/signature] <https://wso2.com/signature>
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to