CAS clustering ?
Scott Battaglia
scott_battaglia at rutgers.edu
Wed Jun 28 10:31:40 EDT 2006
Amit,
What kind of load are you expecting? You may not need a cluster (if
you're only interested in stopping excessive load). CAS itself is not a
very process-intensive application.
That said, its possible to cluster CAS (the easiest way is to use sticky
sessions on your load balancer and a distributed registry). 3.0.5
includes an EhCacheDistributedRegistry. This was tested by one group
and they are having trouble optimizing it to prevent deadlock (the
synchronous updates of EhCache caused deadlock while making them
unsynchronized lost messages). We have a JGroups implementation that I
can forward to you (we haven't included in the core because it uses a
deprecated JGroups class).
We also came up with another alternative at Rutgers (that we haven't
implemented) if you're only interested in load balancing and not
redundancy/high-availability. Each TicketIdGenerator allows you to
specify a suffix to a ticket. So if each server specifies a unique
suffix, then a load balancer that can read the request (if they can
decrypt SSL) can look at the suffix and redirect the request to the
proper server.
-Scott
Scott Battaglia
Application Developer, Architecture & Engineering Team
Enterprise Systems and Services, Rutgers University
v: 732.445.0097 | f: 732.445.5493 | scott_battaglia at rutgers.edu
Kothari, Amit wrote:
> Greetings everybody,
>
> We are evaluating CAS for SSO-enabling our applications. Is clustering
> of CAS servers possible ?
> To avoid excessive server load during high volume of authentication
> requests, we plan to setup multiple CAS servers to handle
> authentication requests.
> Let's say our applications (cas-client) and CAS servers will
> be configured like this:
>
> Users redirecting to App1, App2 will be authenticated by CASServer1.
> Users redirecting to App3 will be authenticated by CASServer2.
> Users redirecting to App4 will be authenticated by CASServer3.
>
> Once a user gets authenticated by any one CASServer, the user should
> be able to browse any other application protected by a different
> CASServer.
> *_E.g_*: Once user1 gets authenticated by CASServer1, user1 can
> successfully browse App1 and App2. So far so good.
> _Requirement_ --> user1 should be able to browse App3 and App4 without
> being authenticated.
>
> Is this possible ? Has anybody tried something like this before ?
> We are using Tomcat 5.0.x for CAS server & client deployments. CAS
> Server --> 3.0.4 and Yale CAS Client --> 2.0.11
>
> Since CAS server 3.0.5 supports distributed ticket registries, can we
> use 3.0.5 ? How much code /configuration will be needed to achieve the
> desired functionality ?
> I couldn't find any documentation about enabling distributed ticket
> registries. Any pointers will be appreciated.
>
> Thanks in advance,
>
> - Amit
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
More information about the cas
mailing list