Hi,

I've created a new Carbon component called "Coordination" to be used for
distributed coordination requirements. This is based on Apache ZooKeeper,
and both client and the server components are available. The core
constructs include the following: Barriers/Double Barriers, Queues /
Priority Queues, Locks (can be used to create critical sections), Groups
(for leader election, message broadcasting). I've also written some tests
as well to test the above, the test are run by running the server component
and making calls to it from the tests.

I haven't included the component to any product or existing component, the
first task is to add the coordination functionalities for the scheduled
tasks. This is required when scheduled tasks are run in a cluster
environment, where some leader election functionality should be there to
select the server which will execute the tasks, and fallback to another
option, when that server goes down. Another similar situation would be to
register Carbon data sources in JNDI/In-Memory data repository when a data
source is added from different server in a cluster (at the moment, this
only goes into the registry, and other nodes aren't aware of this). So for
requirements such as those, we can use this component.

Cheers,
Anjana.
-- 
*Anjana Fernando*
Senior Software Engineer
WSO2 Inc. | http://wso2.com
lean . enterprise . middleware
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to