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

Reply via email to