This is actually something that I am working on at the moment - I'm writing a J2EE app with a view to further researching into how clustering works and how best to design for clustering.
At the moment I have "regular" stateless and stateful session beans which I've deployed into
JBoss. If you've not seen the clustering support in JBoss 3 then I strongly recommend taking a look - it's absolutely fantastic and
so easy to setup. We even have a nice demo of how JBoss fails over stateful session beans in-flight when one server instance dies.
I have seen some good documentation on designing for clusters so I'll try to dig it out. As a starter though, some of the usual EJB stuff applies - don't rely on read/write statics in bean instances, sync'd blocks, etc.
Cheers for now
Simon