synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From indika kumara <indika.k...@gmail.com>
Subject Re: Implementing separate Cache for Synapse
Date Mon, 10 Jan 2011 06:50:26 GMT
Udayanga, if you are going to implement a cache, please have a look at the
'Caching Application Block'[1]'. Furthermore, have a look at the .Net cache
architecture (or any other research). Also you may use wso2's cache
implementation with or without modifications. Re-usability is key as the
cache is applicable in many contexts.

Thanks,

Indika

[1] http://msdn.microsoft.com/en-us/library/ff664753%28v=PandP.50%29.aspx

On Mon, Jan 10, 2011 at 12:31 PM, Supun Kamburugamuva <supun06@gmail.com>wrote:

> I think cache is not something a user should think in terms of
> mediation. So I'm thinking that it should go in to a separate file.
> Only the people who write code will see the cache.
>
> This lead us to think about the Registry definition in the synapse.xml
> as well. The registry definition that is in the synapse.xml is not
> related to mediation as well. It is a static configuration that is
> ideally put in a separate file.
>
> Thanks,
> Supun..
>
> On Mon, Jan 10, 2011 at 11:53 AM, Ruwan Linton <ruwan.linton@gmail.com>
> wrote:
> > Also you have neglected my question on the relation to the configuration
> > language with this, or are you planning to make this completely
> transparent
> > from the user?
> > Ruwan
> >
> > On Mon, Jan 10, 2011 at 11:52 AM, Ruwan Linton <ruwan.linton@gmail.com>
> > wrote:
> >>
> >>
> >> On Mon, Jan 10, 2011 at 11:35 AM, Udayanga Wickramasinghe
> >> <udayanga@wso2.com> wrote:
> >>>
> >>> Hi Ruwan,
> >>>
> >>> On Mon, Jan 10, 2011 at 10:32 AM, Ruwan Linton <ruwan.linton@gmail.com
> >
> >>> wrote:
> >>>>
> >>>> Udayanga, may I know some usecases for this cache implementation??
> >>>> Synapse is not designed for the users to interact with the API
> directly. It
> >>>> has a configuration language to access the API (in most of the cases,
> apart
> >>>> from the Class mediator and so forth, and the class mediator has to
be
> your
> >>>> last option).
> >>>
> >>> One of the use cases is implementing a  prefetcher. We can define a
> >>> prefetching criteria under cache so that certain entries(ie:-xslt,wsdl
> ,
> >>> etc) are prefetched and cached upfront to enhance performance. So at
> runtime
> >>> remote entries/item collections could be prefetched from cache ,
> without
> >>> contacting the registry first(otherwise first query would always be to
> a
> >>> remote reg) .Also whenever  remote reg is down we can query prefetched
> cache
> >>> instead (and  can easily employee a back-off criteria depending on the
> >>> window of failure )  . Another use case may be implementing a
> distributed
> >>> cache when multiple registry/esb instances are running . Implementing
> these
> >>> scenarios under current context tis hard because of the reasons i have
> >>> mentioned earlier.
> >>
> >> I don't think you need a separate cache to implement pre-detching?? We
> >> already cache the remote registry entries at the Configuration,
> implementing
> >> pre-fetching is just a matter of time at which you make the first call,
> >> isn't it?? it is just a switch required to check whether you want to
> work
> >> from the local cache when the remote registry is down, and continue
> using
> >> the local cache. This can be simply implemented with the existing
> context
> >> :-(
> >> How do you implement a distributed cache? what is the replication
> >> mechanism that you are planning to use, we do replicate stuff with Axis2
> >> clustering implementation already.
> >> Thanks,
> >> Ruwan
> >>
> >>>
> >>> Regards,
> >>> Udayanga
> >>>
> >>>
> >>> --
> >>> Udayanga Wickramasinghe
> >>> Software Engineer; WSO2 Inc.; http://wso2.com,
> >>> email: udayanga@wso2.com cell: +94 (77) 983-4365
> >>> blog: http://udayangawiki.blogspot.com
> >>> twitter: http://twitter.com/udayanga_wick
> >>>
> >>
> >>
> >>
> >> --
> >> Ruwan Linton
> >> Software Architect & Product Manager
> >> WSO2 Inc.; http://wso2.org
> >>
> >> Lean . Enterprise . Middleware
> >>
> >> phone: +1 408 754 7388 ext 51789
> >> email: ruwan@wso2.com; cell: +94 77 341 3097
> >> blog: http://blog.ruwan.org
> >> linkedin: http://www.linkedin.com/in/ruwanlinton
> >> google: http://www.google.com/profiles/ruwan.linton
> >> tweet: http://twitter.com/ruwanlinton
> >
> >
> >
> > --
> > Ruwan Linton
> > Software Architect & Product Manager
> > WSO2 Inc.; http://wso2.org
> >
> > Lean . Enterprise . Middleware
> >
> > phone: +1 408 754 7388 ext 51789
> > email: ruwan@wso2.com; cell: +94 77 341 3097
> > blog: http://blog.ruwan.org
> > linkedin: http://www.linkedin.com/in/ruwanlinton
> > google: http://www.google.com/profiles/ruwan.linton
> > tweet: http://twitter.com/ruwanlinton
> >
>
>
>
> --
> Technical Lead, WSO2 Inc
> http://wso2.org
> supunk.blogspot.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>

Mime
View raw message