On Wed, 2004-04-28 at 15:38, Perrin Harkins wrote: > On Wed, 2004-04-28 at 15:34, Tyler Rorabaugh wrote: > > I need object persistance between servers > > Say for example you had a person object > > That container first / last name > > I want the object to contain the same data for each session > > Across each server. > > The way people usually do that is to have a central database that > manages the application's read/write data. Are you using a database for > this now?
To be a little bit more clear about this, there is no way in any language to move objects between machines without serializing them. This means you have to coordinate updates between machines somehow. You can use various elaborate synchronization approaches, but they usually end up being slower than simply using a central database, and they introduce major new problems when dealing with mutable data that needs transactional updates. If you don't need transactional updates and are not worried about very short-term synchronization problems, you can use something like Spread to broadcast data updates around a cluster. Usually your best approach is to cache locally where you can (read-only objects, read/write objects if you are using sticky sessions) and back the whole thing with a database. I wrote some about this some here: http://perl.apache.org/docs/tutorials/apps/scale_etoys/etoys.html I'm planning to talk a lot more about caching strategies at the YAPC::NA and OSCON conferences this year, for anyone who is interested. - Perrin -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html