Hi Imesh,

Is there a repo for Carbon kernel extension point implementation? I would
like to contribute :)

I think we can push this feature to a P2 repo and install it when we are
building the product (for eg: Stratos) distribution. That would be cleaner
than copying the jar to dropins.

Thanks.

On Thu, Jul 23, 2015 at 8:55 AM, Afkham Azeez <[email protected]> wrote:

> 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 3320919 <%2B94%2077%203320919>blog: *
> *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
>
>


-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to