[Catalyst] Distributed session storage problems/questions

Matt Pitts mpitts at a3its.com
Wed Feb 20 18:59:06 GMT 2008


> -----Original Message-----
> From: Lars Balker Rasmussen [mailto:lars at balker.dk]
> Sent: Wednesday, February 20, 2008 1:35 PM
> To: The elegant MVC web framework
> Subject: Re: [Catalyst] Distributed session storage problems/questions
> 
> On Wed, Feb 20, 2008 at 01:08:08PM -0500, Matt Pitts wrote:
> > 1. What is the acceptable way to use memcached for session storage?
> Is
> > it using C::P::Session::Store::Memcached or is it
> > C::P::Session::Store::Cache in conjunction with
> C::P::Cache::Memcached?
> 
> Well, either, really, they do much the same thing.  I wrote
> CPS::Store::Cache
> to avoid the silliness of having two connections to memcached per
> backend,
> using two different Cache:: modules.
> 
> So, if you have the cache working, it should be very easy to set up
> sessions.
> 
> > 2. Is memcached even a "good" way to store sessions? DBIC seems to
be
> a
> > popular option, but I figured memcached's considerable speed would
> make
> > it the preferred choice.
> 
> How important are sessions to you?  If dropping a session once in a
> bluemoon
> is acceptable, memcached is perfectly fine.  In fact, the memcached
> process
> is about as stable as the rest of the machine it runs on, which should
> hopefully be very stable.
> 
> > 3. When using memcached to store sessions, is it OK to have more
than
> > one backend?
> 
> YES!  Definitely.  Silly not to.
> 
> > At first I didn't think anything about adding another
> > backend, but then I thought that the 2 memcached instances wouldn't
> have
> > the same set of data which would cause problems with sessions,
unless
> of
> > course the session writes get distributed to all the backends. I've
> > looked into the source of C::P::Session::Store::Memcached,
> > Cache::Memcached::Managed and Cache::Memcached and cannot tell if
the
> > writes are spread across all backends. Does anyone know the answer
to
> > this?
> 
> As long as you specify the servers in the same order on all memcached-
> clients, they will hash the keys the exact same way, and a set() on
> server B will cause a get() on server A to just work(tm).
> 
> > 4. Is it just crazy to run a load balanced setup without some type
of
> > sticky session setup on the proxy? If so, any implementations of
this
> > using Apache 2.x mod_proxy(_balancer) as the frontend would be
> greatly
> > appreciated.
> 
> Sticky sessions are annoying.
> --
> Lars Balker Rasmussen
> Consult::Perl
> 
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-
> archive.com/catalyst at lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/

This is very, very helpful information. Much thanks.

v/r

-matt pitts



More information about the Catalyst mailing list