> > Is your application composed only of stateless services?
> > Jini is quite handy to cluster these, but any ideas about
> > clustering statefull ones?
> Have to be pedantic here - do you mean clustering for
> horizontal scaling or for reliability or both?
Nowadays it seems common to expect both aspects to be addressed, and more. I recently wrote a piece describing how clustering state can help to address the aspects of availability, reliability, scalability, performance, serviceability and manageability:
http://wiki.tangosol.com/display/COH31UG/Cluster+your+objects+and+your+dataThe concepts should sound familiar ;-)
> whilst many a developer has a tendency toward
> software-only solutions, mixed software/hardware solutions
> can often be cheaper, more effective and easier to
> maintain.
I haven't seen this, other than in some specific database environments related to dual-ported disks. Having said that, you're already into the big bucks even with dual-ported disks, which are considered just about the cheapest hardware option ;-)
> What kind of state? Does it all have primary keys? Is it
> POJO's, big objects or small?
What I've witnessed is that applications architected for distributed shared state will tend toward using explicit primary keys and small POJOs, and applications retrofitted for distributed shared state will tend to have larger object graphs and fewer natural identities.
Peace,
Cameron Purdy
http://www.tangosol.com/