If you really need to have scope shared across servers you can use a 
distributed EHCache implementation. That way the shared data can even be 
offloaded from the app servers onto its own set of servers.

Instead of just accessing everything via session. in your application 
you'd use a facade to the shared cache data and key it off of the user's 
session cookie.

Rob Brooks-Bilson has written quite a bit about setting up distributed 
EHCache.

Cheers,
.jonah

On 10/10/11 1:25 PM, Mark A. Kruger wrote:
> Ditto to Nate's comments.
>
> When you think about it you can imagine the challenges for yourself. To
> truly do session replication you need enough physical memory to devise heaps
> big enough for any one instance in the cluster to store all the sessions
> (it's own and the replicated ones) for all the other instances in the
> cluster. So if your sessions take up a modest 256 megs (for example) and you
> have 4 machines then each machine will need a gig just for replicated
> sessions.  Meanwhile, network traffic increases exponentially with each
> cluster member due to session info flying back and forth between the various
> instances... so you probably should put session traffic on it's own network
> (multi-homed machines and private subnet perhaps).... then there is the
> computation power it takes to keep it all in synch... over all it's
> functional on a small scale but does not scale upward very well - as each
> new instance has an exponential increase on the resource required.
>
> -Mark
>
> Mark Kruger - CFG
> CF Webtools
> www.cfwebtools.com
> www.coldfusionmuse.com
> O: 402.408.3733 x105
> E: mkru...@cfwebtools.com
> Skype: markakruger
>
>
> -----Original Message-----
> From: Nathan Strutz [mailto:str...@gmail.com]
> Sent: Monday, October 10, 2011 1:06 PM
> To: cf-talk
> Subject: Re: ColdFusion 9 Session Replication
>
>
> So the spirit of your question seems to be "can you replicate sessions
> without software load balancing?" The basic answer is that you can't.
> Session replication is a function of the CF load balancing features.
> However, there are other ways to read your question.
>
> If you are asking if you can swap sessions around without allowing your
> coldfusion servers to have software-based failover, I am not completely sure
> about that. It seems like something that should be possible, but I can't
> think of how, it's been a couple versions and a few years since I've managed
> clustered servers. Do you really want to disable software failover, though?
> It will be more intelligent than your hardware failover.
>
> Finally, I want to point out that session replication is typically a bad
> idea. It will eat up your network bandwidth and feast on your CPUs. It will
> have all your available memory for dessert. If one of your servers crashes
> because it is out of RAM, the other one will do the same. So how do you get
> around it? Obviously sticky sessions on your HWLB is the first step. But
> assuming your servers will crash, how do your replicate session data? There
> are lots of ways, and it depends on your application and what the
> application rules are for what data to store where. Sometimes session data
> can just be discarded and lost - things like saved search criteria.
> Sometimes you can rebuild it from data in your database - you just need a
> link from the session to the user information; you could use a cookie or put
> it in your database. You can also take advantage of CF's caching engine,
> Ehcache, which can do clustered cache, in memory, on disk, even state
> servers, and combinations of these all.
>
> Don't use client variables... just... don't.
>
> nathan strutz
> [www.dopefly.com] [hi.im/nathanstrutz] [about.me/nathanstrutz]
>
>
> On Sun, Oct 9, 2011 at 5:30 PM, Brad Parker<bpar...@uhlig.com>  wrote:
>
>> Here's a question hopefully someone can answer.  Is it possible to use
>> session replication to multiple instances on different physical servers
>> without having to use CF load-balancing?  We have a hardware load balancer
>> in front of the web servers.  I would like hardware appliance to handle
> the
>> load-balancing and failover in the event a failure.  All I want CF to do
> is
>> replicate the sessions so they are available on the other servers if the
>> load balancer marks a server as unavailable.  Is this possible?
>>
>>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:348040
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to