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

Reply via email to