a j
Posts: 1
Nickname: andjarnic
Registered: Jan, 2007
|
|
Re: Spring Clustering with Terracotta
|
Posted: Jan 18, 2007 2:10 AM
|
|
Hi all,
I just came across this Terracotta article and was hoping a few questions I have could be answered.
Our present product has a proprietary servlet code base. The engineer who put this in place has recently left our company and while I understand some of it, there is little javadoc or info other than bugging him.
We have a product that should it work, it could scale to millions of end users and third parties alike, although naturally that takes time to achieve, so we've got some time for the right solution.
Like others, I am kind of taken aback about the idea of moving back into a stateful setup. Right now we don't use sessions at all, but we basically use a cache and database with a user id and/or email. Because we're small, everything resides in the cache once accessed.
I am curious if moving to Spring, Hibernate, and Terracotta, if the ability to scale is fairly simple yet robust enough to eventually scale to possibly dozens of servers.
One thing I particularly liked about Orion Server back in the day was this notion of cluster islands. You'd basically put three servers in an island, they would session fail over to one another. To scale, you'd add another island of two or three servers. You could add more, but the idea was that not only did most developers back then abuse session objects, thus there was a lot more to replicate across servers in an island, but that keeping each island to about three servers ensured a pretty good failover and scalability combination. If one server out of three died, you still had two failing over, and naturally IT was alerted. More so, you'd throttle each island to use about 60% to 70% so that if one server died, the other two could handle the load. Couple that with a good load balancer and you could easily balance the load to other islands if a server (or two or all three) went down. I recall Orion had their own load balancer software that you could deploy on the client side, or in a separate tier of servers in front of the app servers to properly round robin as well as keep track of load and balance right. With all that said, is there any way to do something similar out of the box with Terracotta, or do you have to keep on adding servers to an ever growing cluster? Maybe there is no need, or advantage to the island approach?
Also, I haven't yet checked, but is Terracotta lgpl or bsd, or is it gpl and thus I couldn't ship it with our app for deployment if we wanted to provide our app to others?
IS there any examples to look at, maybe even use to get up and running, then rework for my app?
Curious how Spring, Hibernate and Terracotta work together. I have yet to play with Spring or Hibernate, so not sure if using Hibernate negates the ability to cluster with Terracotta, or if it's not as good as using strict SQL or what have you?
Given that there is Spring Web Flow and the Spring MVC, which is the ideal solution with Terracotta? Not sure which is the better way to go yet, but I am familiar with MVC and the Web Flow looks a little more than we would need.
I was thinking we'd look to deploy on quad core dual cpu systems, possibly with about 8 to 16GB of memory each. Curious what sort of caching Spring provides that works with Terracotta with clustering as well?
Lastly, sort of off topic, but any of you have experience with 64-bit linux (Fedora, RedHat?) and the 64-bit JVM... to take advantage of the >4GB of memory? Are they rock solid, stable... we'll be deploying on JDK 1.5.
Thank you.
|
|