Hi all, We are in the process of refactor/improve the existing HA architecture due to various concerns found.
Below is the high level design came up with. We will provide more in-depth details as the implementation carries on. As per above at a given point of time there will only be a one active node. Passive node will not consume any events. Electing active node will work as per current architecture via cluster coordination. A thread will work in the active node to put the data into a queue(queue1) and same thread will then publish the events to outside.Reason for having a queue here because to send events asynchronously to passive node. Here we are going to send events to passive node via TCP. (This we need to decide) Active node will persist the state periodically to the database. When active node goes down via cluster coordination passive node will become active. When active it will get the state from database(to sync the state) with latest event timestamp , and filter events from queue 2 (in order to stop processing already processed events) and send them out. Then open the ports in the newly active node and start receiving events from sources. In this architecture also at least one processing will be done. Nisala please add anything I missed. Regards, Damith -- Senior Software Engineer WSO2 Inc.; http://wso2.com <http://www.google.com/url?q=http%3A%2F%2Fwso2.com&sa=D&sntz=1&usg=AFQjCNEZvyc0uMD1HhBaEGCBxs6e9fBObg> lean.enterprise.middleware mobile: *+94728671315*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
