The Hazelcast community is also working on implementing a Kubernetes based
discovery implementation.

On Thu, Jul 23, 2015 at 8:00 AM, Sameera Jayasoma <[email protected]> wrote:

>
>
> On Thu, Jul 23, 2015 at 2:10 AM, Imesh Gunaratne <[email protected]> wrote:
>
>> ​Hi All,
>>
>> We implemented a new Carbon membership scheme for Carbon servers for
>> automatically discovering the Hazelcast cluster via the Stratos topology.
>> This is for automatically discovering Carbon instances in a Carbon cluster
>> when running on Private PaaS. In the previous version of the Private PaaS
>> we used WKA membership scheme for this and implemented additional logic to
>> manage the number of WKA members and their recovery process. In the
>> previous model we needed to restart the entire Carbon cluster if all the
>> existing WKA members get terminated due to some reason.
>>
>> The initial implementation of $subject which was done for Carbon 4.4.0
>> can be found here [1].
>>
>> *How it works*
>>
>> This new model allows all the members in the cluster to get connected to
>> all the other members. More importantly the member list of the Hazelcast
>> cluster configuration get updated dynamically when new members join the
>> cluster and when existing members leave.
>>
>
> Yes. Treating all the members in the cluster as WKA members is a tried and
> tested method. This is the way to solve this problem.
>
>
>>
>>
>> As shown in the above diagram the Stratos membership scheme fetch the
>> topology from the message broker and find the list of member IP addresses.
>> Then those IP addresses are configured in Hazelcast Network Configuration
>> and let the Clustering Agent to create the Hazelcast instance. This happens
>> at the server startup.
>>
>> Once a new member is created by the PaaS, it executes the same logic and
>> get connected to all the existing members available in the given
>> cluster(s). Once this happens the existing members get connected back to
>> the new member via Hazelcast.
>>
>> In the axis2.xml we can specify a list of cluster ids from which the
>> members should be listed from:
>>
>> <clustering
>> class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent"
>>                 enable="true">
>>                 ...
>>                 <parameter name="membershipScheme">stratos</parameter>
>>                 <parameter
>> name="clusterIds">cluster-1,cluster-2</parameter>
>>                 ...
>>     </clustering>
>>
>> Here we have allowed to specify multiple cluster ids to be able to use
>> cartridge grouping functionality in Private PaaS which would allow us to
>> model worker/manager separation.
>>
>> *Work in progress*
>>
>> Currently in the Carbon Kernel we do not have an extension point for
>> plugging in new membership schemes. As a result we had to patch the Carbon
>> Kernel Core module to do this initial implementation.
>>
>
> From Hazelcast 3.6 release, they are introducing a new Hazelcast discovery
> API. This will allow us to plug different membership schemes easily. Imesh,
> Can you create a Jira in the Carbon product 4.5 version?
>
>>
>> Now we are in the process of introducing an extension point for plugging
>> in custom membership schemes to the Carbon runtime. Once that is
>> implemented we could move the above feature to a separate bundle and drop
>> it to the dropins folder and use it.
>>
>> [1] https://github.com/imesh/stratos-membership-scheme
>>
>> Thanks
>>
>> --
>> *Imesh Gunaratne*
>> Senior Technical Lead
>> WSO2 Inc: http://wso2.com
>> T: +94 11 214 5345 M: +94 77 374 2057
>> W: http://imesh.gunaratne.org
>> Lean . Enterprise . Middleware
>>
>>
>
>
> --
> Sameera Jayasoma,
> Software Architect,
>
> WSO2, Inc. (http://wso2.com)
> email: [email protected]
> blog: http://blog.sameera.org
> twitter: https://twitter.com/sameerajayasoma
> flickr: http://www.flickr.com/photos/sameera-jayasoma/collections
> Mobile: 0094776364456
>
> Lean . Enterprise . Middleware
>
>


-- 
*Afkham Azeez*
Director of Architecture; WSO2, Inc.; http://wso2.com
Member; Apache Software Foundation; http://www.apache.org/
* <http://www.apache.org/>*
*email: **[email protected]* <[email protected]>
* cell: +94 77 3320919blog: **http://blog.afkham.org*
<http://blog.afkham.org>
*twitter: **http://twitter.com/afkham_azeez*
<http://twitter.com/afkham_azeez>
*linked-in: **http://lk.linkedin.com/in/afkhamazeez
<http://lk.linkedin.com/in/afkhamazeez>*

*Lean . Enterprise . Middleware*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to