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)? > Currently there was no usage on getAllMembers at clustering agent level. But we have given this at Clustering API level, which uses the underlying cluster impl (eg: hazelcast) to get all the members. That's why we did not include it at this level. But, in time, if we get a usage for this, we can then include it. > > >> >> /** >> * 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? > Yes, this is used in synchronous message sending where there were responses, which are in the form of ClusteringCommand (it has an execute method). This was used with tribes based clustering and currently not used with hazelcast. We can remove this part. > > >> >> /** >> * 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 > > -- *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>*
<<C5 - Clustering.png>>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
