>We've also considered a backend db (oracle here) to support clustered CAS 
>servers. The two obvious solutions seem:

>1. distributed caches
>2. database backend

>I like distributed caches since it is generally light-weight though I'm not 
>sure how it will scale with the number of servers/traffic increasing. Assuming 
>you have a DB backend available/scalable, this seems to support a large number 
>of >CAS server front-ends though the DB will be hit pretty hard.

Four years ago I had to replace a "distributed session" functionality based on 
an older vignette server so that our new java-based implementation didn't hit 
the database every time a user needed to have his or her session verified (in 
that architecture it could be at every click, if I remember well, because it 
had been a progressive port of functionalities out of vignette and into our 
turbine-backed java app). I choose to do it using javagroups (now jgroups), 
they had abstractions such as distributed and replicated hashtables (the 
difference was in async vs sync operation). In a typical work day we had 
1000-1200 clients connected at once, which means that in the periods where 
everyone was logging in (mostly on market opening time, it was a trading online 
system) most of them would log in in the same time. The system did not have any 
problem with the load, nor did the network traffic show any noticeable 
increase. The shared memory approach is certainly feasible, and
 JBossCache, which is now backed by jgroups could be the right technology. What 
bothers me a bit is:
1) it seems that as soon as one wants to put jbosscache into its architecture 
it has to put no less than six different jars inside (maybe more), including 
jboss-core, jboss-serialization, jboss-jmx and so on. The jmx part is 
especially bothering, it seems it's not well separated from the cache stuff, so 
even if one doesn't want to use it it throws exceptions on shutdown (didn't 
inspect this well, though)
2) I didn't analyze this problem well enough, but it seems that even if one 
doesn't want to use its transactional features JBossCache wants to use a 
transaction manager, tries to bind objects to the jndi (which in Tomcat is 
read-only) and so on. So as far as I could see it could not be a "real plug and 
play" approach, it seems one has to tweak it a bit: but as I said I didn't have 
time to inspect it further. I will do it in the next few weeks.





_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to