I am not sure from notes what we decided.

Cannot we just used hazelcast session replication? does above design you
mentioned built on top of Hazelcast?

--Srinath

On Wed, Oct 1, 2014 at 2:18 PM, Pubudu Dissanayake <[email protected]> wrote:

> Hi All,
>
> Based on the Architecture review of " Tomcat session replication using
> caching ", following aspects were discussed.
> Participants
>
>    -  Azeez, Sameera , Aruna, Jayanga, Gayashan, SupunM, Niranjan and
>    Myself
>
> Proposed solution. - key-val: (CarbonSessionCacheKey, CarbonSessionCache)
>
>    - Initial implementation was based on javax.caching api's. I've
>    created CarbonSessionCache and CarbonSessionCacheKey to maintain
>    HttpSession in the Hazelcast distributed map. Session will be
>    intercepted by using a Tomcat Valve.
>    - *Verdict* on the proposed solution. - Cache map Serialization and
>    Deserialization is very expensive operation due to heavy traffic. Therefore
>    it is not efficient to replicate the whole session object in the cache map.
>
> Counter Proposed solution
>
>    - Having a Hazelcast map per session object. In that way if an
>    attribute in the session changes the whole entry should not have to be
>    replicated, only the changed attribute.
>    - Have a per-session cache - ( session_id ).
>    - Issue in this approach as follows
>       - How can we acquire the session object from the map ?
>
> *Final verdict *on the feature implementation
>
>    - Instead of using the caching APIs, This needs to fix in
>    Hazelcast level and do it in the optimal way. [1]
>    - HazelcastWM
>    <http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html> [2],
>    Bring in the filter code level in to the tomcat valve instead
>
> -Pubudu
> [1] http://hazelcast.com/use-cases/web-session-clustering/
> [2] http://docs.hazelcast.org/docs/1.9.4/manual/html/ch08.html
>
> On Wed, Oct 1, 2014 at 10:51 AM, Pubudu Dissanayake <[email protected]>
> wrote:
>
>> Hi Srinath
>>
>> Hazelcast WM allows us to cluster user http sessions automatically.
>> Followings are required for enabling Hazelcast Session Clustering
>> <http://hazelcast.com/use-cases/web-session-clustering/> [2][3]
>>
>>    - Target application or web server should support Java 1.5+
>>    - Target application or web server should support Servlet 2.4+ spec
>>    - Session objects that needs to be clustered have to be Serializable
>>
>> Purpose of web session clustering is to replicate web session state
>> across a distributed application servers. Benefits, allow us to scale out
>>  but also avoid any single point of failure and allow us to dynamically
>> handle node failure within the application tier. performance of this web
>> session clustering is high according to VP Hazelcast
>> <https://www.youtube.com/watch?v=8a0LrlOIXq0>. Using Hazelcast session
>> replication can be achieved in two different ways. Observations as follows.
>>
>>    - *Hazelcast Enterprise* has native web session clustering build in
>>    to Apache Tomcat.
>>    - *Opensource Hazelcast* has provide a web session clustering as an
>>    external filter, basically Hazelcast filter has to be placed before all of
>>    other filters and that will enable us to provide the web session 
>> clustering
>>    in opensource. In this use case it doesn't required changes to application
>>    itself.
>>
>> [1] https://redmine.wso2.com/issues/2816
>> [2] http://hazelcast.com/use-cases/web-session-clustering/
>> [3]
>> http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html
>> [4] https://www.youtube.com/watch?v=8a0LrlOIXq0
>>
>> More info $subject - Web Session Clustering / Session Replication using
>> Hazelcast
>>
>> -Pubudu
>>
>>
>> On Wed, Oct 1, 2014 at 10:41 AM, Srinath Perera <[email protected]> wrote:
>>
>>> We need to use Hazelcast
>>>
>>> When implemented we need to test this with multilple nodes (at least 4)
>>> and in high load conditions before it is done done.
>>>
>>> --Srinath
>>>
>>> On Wed, Oct 1, 2014 at 8:52 AM, Dinesh J Weerakkody <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I came across this project [1] and might be useful. It is based on
>>>> memcached library.
>>>>
>>>> [1] http://code.google.com/p/memcached-session-manager/
>>>>
>>>> On Tue, Sep 30, 2014 at 8:01 PM, Pubudu Dissanayake <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> I am working on an improvement for Carbon to enable tomcat session
>>>>> replication support using caching .Our previous implementation was
>>>>> based on a Tomcat Valve ( CarbonTomcatSessionReplicationValve.java).And
>>>>> it was used to replicate the session and adding it to cluster message.
>>>>>
>>>>>
>>>>> Http Session replication in carbon works like this (its quite similar
>>>>> to how the same work in a standalone tomcat).
>>>>>
>>>>> 1. Not every webbapp session will be replicated. You need to set a
>>>>> context property (distributable) for the webapp you need.
>>>>> 2. Once enabled, and when the session is modified on a node, that
>>>>> modification is sent to other nodes via a cluster message ( using
>>>>> clustering )
>>>>>
>>>>> For the new implementation, initial suggestion is to use our caching
>>>>> implementation. So we need to store the session object in the cache and
>>>>> when session is modified, then we need to update the cache.
>>>>>
>>>>> Please guide me through the process what should I carried out and any
>>>>> references to help me further to achieve [1].
>>>>>
>>>>> [1] https://redmine.wso2.com/issues/2816
>>>>> ​
>>>>>
>>>>> --
>>>>> *Pubudu Dissanayake*
>>>>>  Software Engineer
>>>>>
>>>>> WSO2 Inc.; http://wso2.com
>>>>> lean.enterprise.middleware
>>>>> Mob: + 94 775 503 304
>>>>>
>>>>> Blog: http://geekdetected.wordpress.com/
>>>>> Linkedin: *http://lk.linkedin.com/in/pubududissanayake*
>>>>> <http://lk.linkedin.com/in/pubududissanayake>
>>>>> Flickr : https://www.flickr.com/photos/pubudufx/
>>>>> Twitter: https://twitter.com/GeekInAction
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dev mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Dinesh J. Weerakkody*
>>>> Software Engineer
>>>> WSO2 Inc.
>>>> lean | enterprise | middleware
>>>> M : +94 727 361788 | E : [email protected] | W : www.wso2.com
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> ============================
>>> Srinath Perera, Ph.D.
>>>    http://people.apache.org/~hemapani/
>>>    http://srinathsview.blogspot.com/
>>>
>>
>>
>>
>> --
>> *Pubudu Dissanayake*
>>  Software Engineer
>>
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>> Mob: + 94 775 503 304
>>
>> Blog: http://geekdetected.wordpress.com/
>> Linkedin: *http://lk.linkedin.com/in/pubududissanayake*
>> <http://lk.linkedin.com/in/pubududissanayake>
>> Flickr : https://www.flickr.com/photos/pubudufx/
>> Twitter: https://twitter.com/GeekInAction
>>
>>
>
>
> --
> *Pubudu Dissanayake*
>  Software Engineer
>
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
> Mob: + 94 775 503 304
>
> Blog: http://geekdetected.wordpress.com/
> Linkedin: *http://lk.linkedin.com/in/pubududissanayake*
> <http://lk.linkedin.com/in/pubududissanayake>
> Flickr : https://www.flickr.com/photos/pubudufx/
> Twitter: https://twitter.com/GeekInAction
>
>


-- 
============================
Blog: http://srinathsview.blogspot.com twitter:@srinath_perera
Site: http://people.apache.org/~hemapani/
Photos: http://www.flickr.com/photos/hemapani/
Phone: 0772360902
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to