Hi Kishanthan, What's CarbonConfigurationContext? In which API is this defined? Is it generic/useful to entire carbon kernel? If not, how about ClusterConfigurationContext or something relevant only to clustering?
Also, what's ClusteringCommand? Thanks, Senaka. On Sun, Jan 19, 2014 at 11:32 PM, Selvaratnam Uthaiyashankar < [email protected]> wrote: > > > > On Sun, Jan 19, 2014 at 11:40 AM, Kishanthan Thangarajah < > [email protected]> wrote: > >> Clustering SPI provides the ability to plug-in different clustering >> implementation to carbon. By default, carbon will ship hazel-cast based >> clustering impl. There will be a separate file (cluster.xml) for cluster >> configuration. >> >> The SPI will contain the following main interfaces. >> >> *ClusteringAgent* - is responsible for initializing and managing this >> node in the cluster. >> *MembershipScheme* - a representation of a membership scheme such as >> "multicast" or "well-known address (wka) used in the cluster. >> >> A high-level view can be as follows >> >> [image: Inline image 1] >> >> When the cluster agent is successfully initialized, it will also register >> the Cluster Service (being discussed at "[C5] Clustering API"). The >> Cluster Service will use the clustering agent underneath at implementation >> level for its required operations. Based on previous experiences, we have >> defined the following methods for clustering agent and membership scheme >> for now. Based on the final outcome of this discussion, they may get >> changed. >> >> *ClusteringAgent* >> >> /** >> * Initialize the agent which will initialize this node, and join the >> cluster >> */ >> void *init*() throws ClusteringFault; >> >> /** >> * Shutdown the agent which will remove this node from cluster >> */ >> void *shutdown*() throws ClusteringFault; >> >> /** >> * Set carbon configuration context to this agent to be used in the >> clustering impl >> */ >> void *setConfigurationContext*(CarbonConfigurationContext >> configurationContext); >> >> /** >> * Get the list of static members >> */ >> List<ClusterMember> *getStaticMembers*(); >> > > > > Don't we need a method to get all the members (including dynamic members)? > > > >> >> /** >> * Get the number of members alive. >> */ >> int *getAliveMemberCount*(); >> >> /** >> * Send a message to all members in the cluster >> */ >> List<ClusteringCommand> *sendMessage*(ClusterMessage msg, boolean >> isSync) >> throws ClusteringFault; >> > > > what is "isSync"? Synchronous communication? or are we synchronizing > something? > > Also, what are the contents of ClusteringCommand? > > > >> >> /** >> * Send a message to a set of specific members in the cluster >> */ >> List<ClusteringCommand> *sendMessage*(ClusterMessage msg, >> List<ClusterMember> members, boolean isSync) >> throws ClusteringFault; >> >> >> *MembershipScheme* >> >> void *init*() throws ClusteringFault; >> >> void *joinGroup*() throws ClusteringFault; >> >> >> Thoughts? >> >> Thanks, >> Kishanthan. >> -- >> *Kishanthan Thangarajah* >> Senior Software Engineer, >> Platform Technologies Team, >> WSO2, Inc. >> lean.enterprise.middleware >> >> Mobile - +94773426635 >> Blog - *http://kishanthan.wordpress.com >> <http://kishanthan.wordpress.com>* >> Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>* >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > S.Uthaiyashankar > VP Engineering > WSO2 Inc. > http://wso2.com/ - "lean . enterprise . middleware" > > Phone: +94 714897591 > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- *[image: http://wso2.com] <http://wso2.com> Senaka Fernando* Senior Technical Lead; WSO2 Inc.; http://wso2.com * Member; Apache Software Foundation; http://apache.org <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 Linked-In: http://linkedin.com/in/senakafernando <http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
<<C5 - Clustering.png>>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
