+1 for pointing to this Udara! I think it would be better to have this functionality in a more generic manner so that any cartridge that needs its own cluster discovery mechanism can be plugged in.
According to our offline discussion with Chamila, IsuruH & Gayan, we could introduce a new block called "clustering" in the cartridge definition to specify the cluster discovery mechanism of the cartridge. Here we could add an attribute called type and mention the cluster discovery method (WKA, Multicast, etc). In addition it could specify a set of properties for passing parameters to do the clustering configuration. May be this complete functionality can be implemented using an extension point. The above extension implementation could add required properties to each member of the cluster and pass them to the instances via payload parameters. According to these parameters cartridge agent extensions could do the clustering configuration of each server instance. On a side note see below how CoreOS is using etcd for cluster discovery without having to rely on WKA: https://coreos.com/docs/cluster-management/setup/cluster-discovery/#new-clusters Thanks On Mon, Apr 20, 2015 at 5:19 PM, Udara Liyanage <ud...@wso2.com> wrote: > Hi, > > In a enterprise environment services are clustered for high availability > and scalability. So I think we might need to add clustering capability for > Stratos applications too. > > Like to describe your ideas on below topics related to clustering, > > 1) Define clustering information in cartridge/application definition > > 2) Should support different clustering methods such as WKA schema > > 3) Related information should be passed to cartridge agent, so agent > extensions can be written to accommodate clustering configuration. > > 4) Puppet modules should be consolidated. > > -- > > Udara Liyanage > Software Engineer > WSO2, Inc.: http://wso2.com > lean. enterprise. middleware > > web: http://udaraliyanage.wordpress.com > phone: +94 71 443 6897 > -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos