This content has been marked as final. Show 5 replies
Take a look at ClusterCats with session-awareness also known as "Sticky" sessions.
Managing Clusters with Enterprise Manager and Packaging Applications in ColdFusion MX 7
(This might me outdated since it doesn't mention anything above 6.1)
ClusterCATS Supported Platforms Update
Managing Session-Aware Clusters
Sorry C_wigginton, but my question was actually trying to figure out the exact opposite. I don't want in-memory anything. Clusters is what I'm using at the moment. I want to step away from that and use CF the way PHP does thing: nothing in memory, nothing on the application server, everything in the DB.
Is there a way?
When you say "The way PHP does things", are you referring to the serilization of session information (see php link below). Normally the session information on a single server (PHP) is written to a file in a temporary session folder but can be serialized to a database through custom session handlers.
As far as doing the same in ColdFusion, you probably want to look at using J2EE Session Management which would let you serialize the Session Scope and implement Session Swapping. The "Persistent session failover in JRun" article below discusses some of this.
The end result is the same in that you have to serialize the session state and then persist that data in a manner that is accessible to any system in the cluster, so that on subsequent hits, the user's session can be de-serialized.
(PHP) Session Handling Functions
Stateful Session Clustering: Have Your Availability and Scale It Too
ColdFusion and J2EE session management
Persistent session failover in JRun
Yup - nice one :D THANKS!
And if you want the equivalent of session management, but where session data is stored in the DB, then use Client variables instead of Session, and have your Client variables use a DB instead of Registry or Cookies.
Note that to scale well you should put the Client variable DB tables on a separate DB from the one(s) your app uses, that you can't store complex data easily in Client variables, and you should make sure to regularly purge the table data and put efficient DB indexes on them. If you do all that, it's a very nice, simple, scalable solution for CF.