Hi Azeez/Senaka,

There are few aspects related to cache invalidation here.

1.) Time out based cache invalidation - ( Right now it's broken for GReg
but we will fix it and let's leave it)

2.)  Cache invalidation across the platform - This is where we bring this
pub-sub based approach.  The overhead of this approach is it requires a
broker, but given the fact that this should smoothly work across whole
stack users can decide whether to satisfy with  1.) or bring a broker so
not a problem.

3.) Cache invalidation across the GReg cluster - Today this is supported
and not a problem according to the cluster architecture as well.

So how we going to support this option 3.)  ?

a.) If a broker is already available in the architecture then are we
delegate cache invalidation among Greg node also to the broker ?

b.) In case there is no broker available still users should able to
invalidate cache among Greg nodes in that case we could keep existing
cluster based mechanism too. IMO it's hard to expect to bring a new broker
component just do the cache invalidation with same cluster and some may can
consider it as story broken for cache.



Personally I'm thinking about following architecture.


1. We keep existing cluster based cache invalidation as it is but not
recommend to use it among different product clusters.

2. Enable pub-sub model only to communicate cache invalidation messages
among clusters not among each individual node.

3. Cluster representative  - There is a kind of an agent or one member from
each cluster can subscribe with broker and this guy can publish/receive
messages in behalf of his cluster.


WDYT ?

Thanks !


On Fri, Apr 4, 2014 at 2:37 PM, Afkham Azeez <[email protected]> wrote:

>
>
>
> On Fri, Apr 4, 2014 at 5:44 PM, Amal Gunatilake <[email protected]> wrote:
>
>> Hi Azeez/Senaka,
>>
>> I have implemented the JMS publisher and receiver as a separate
>> component. These interfaces will register a topic in the ActiveMQ server
>> and each cluster node can subscribe to the topic. Once GReg cluster publish
>> the message to the topic the subscribers will receive the message.
>>
>> In-order to implement the next step which is passing and updating the
>> correct data, I need to know the following.
>>
>>    1. Which section of the code I need to focus in Kernel where cache
>>    invalidation happens in GReg (Hazelcast Cache add, delete, update)?
>>
>> In GReg, wherever relevant resources are updated, and cache needs to be
> globally (across multiple clusters) invalidated, your OSGi service should
> get called. Let's call that service GlobalCacheInivalidationService
>
>
>>
>>    1.
>>    2. Which section of the code I need to focus in Kernel where
>>    individual nodes get update in a cluster with Hazelcast?
>>
>>
> In the kernel, we just need to add the patch which implements the
> coordinator functionality. We don't need to change any other code or the
> caching implementation
>
>>
>>    1.
>>
>> Thank you  & Best regards,
>>
>> *Amal Gunatilake*
>>  Software Engineer
>> WSO2 Inc.; http://wso2.com
>> 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*
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Sagara Gunathunga

Senior Technical Lead; WSO2, Inc.;  http://wso2.com
V.P Apache Web Services;    http://ws.apache.org/
Linkedin; http://www.linkedin.com/in/ssagara
Blog ;  http://ssagara.blogspot.com
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to