On Thu, Dec 4, 2014 at 12:08 PM, George Christman <gchrist...@cardaddy.com>
wrote:

> I'd have to say 98% of my app is stateless, I only have a few admin pages
> that still use tapestry grid. Other than that Captcha and Tapestry Security
> redirect seem to be the only two items effected by this, so I don't think
> I'll have a memory issue.
>

Yeah, that's how it should be.


> Kalle, I still use AWS and thus far it's been very reasonable. I just worry
> instances being held active and running my bill up because of sticky
> sessions. I'll admit, I'm no expert in this, so perhaps my understanding
> isn't correct.
> Is there any recommendation for the timeout? I currently have it set at 0.
>

That's your issue then, you want to set it to a positive number to let them
expire. From the servlet spec: "If the timeout is 0 or less, the container
ensures the default behavior of sessions is never to time out." Personally,
I'm advocating use of short session expiration (in the order of 1-5 mins),
then extending it via async calls (as described in
http://tynamo.org/tapestry-conversations+guide). At least tomcat has a
default expiration of 30 mins, I'm not sure if the spec ever said anything
about it.

Kalle



> On Thu, Dec 4, 2014 at 1:26 PM, Kalle Korhonen <kalle.o.korho...@gmail.com
> >
> wrote:
>
> > On Thu, Dec 4, 2014 at 5:54 AM, George Christman <
> gchrist...@cardaddy.com>
> > wrote:
> >
> > > Hi guys, so I've had a slew of strange behaviors over the past few
> months
> > > with a few different Tapestry components such as Tapestry Grid,
> Tapestry
> > > Captcha, and writting/removing cookies. Last night I was finally able
> to
> > > fix them, but at the cost of a sticky session. My application sits
> > behind a
> > > load balancer, so my question is why do I need to use a sticky session
> > and
> > > how do I avoid the use of them? I'm concerned with the fact this is
> going
> > > to cause a scaling dilemma.
> > >
> >
> > I'd almost say that sticky sessions are more the norm than the exception
> > for Java web applications. Unless you change your implementation, you
> have
> > a choice between sticky sessions or replicated/centeralized sessions.
> > Sessions in your cluster are probably not managed by memcached or some
> such
> > (which is another single point of failure), causing the strange behavior.
> > Furthermore, I see neither session usage nor sticky sessions as
> inherently
> > bad. Memory is cheap although in today's cloud managed solutions using
> > memory may end up costing extra to you. It depends on how your load
> > balancer works and whether the bottleneck in a typical usage pattern is
> cpu
> > or memory. Even if your load balancer does a simple random choice but
> > memory doesn't cost you, you are most likely fine with sticky sessions.
> If
> > additional servers cost you, but you can do dynamic horizontal scaling
> with
> > cpu/memory thresholds to spawn new instances, then sticky sessions are
> > actually desirable.
> >
> > Kalle
> >
> > PS. @Alex - yes, can configure default persistence strategy with
> > @Meta("tapestry.persistence-strategy=client") per page - but that only
> > works if the components don't require an explicit persistence strategy
> >
>
>
>
> --
> George Christman
> CEO
> www.CarDaddy.com
> P.O. Box 735
> Johnstown, New York
>

Reply via email to