I'm looking at a JBoss-based clustering solution for deploying our app to multiple sites connected by a WAN. The requirement is to have consistent data across the WAN where the WAN communication is relarively slow (say, London, New York, Tokyo)
We also need to provide good local performance for our app, which is heavily read-biased (writes are roughly 1/10000th of reads).
So, for each site I was proposing a number of JBoss instances with failover of session state within the site's LAN by having a separate partition per LAN. Additionally I would have another partition for entity beans that spans all three sites, allowing state replication across the WAN. I'm assuming that we have an underlying database capable of supporting this (synchronous replication) with Commit Option A + cache invalidation.
e.g. 6 servers - LON1, LON2, NY1, NY2, TK1, TK2 - and 4 partitions LON, NY, TK, GLOBAL where sessions on LON1 and LON2 belong to LON partition, etc. and all entities on all nodes belong to GLOBAL.
Am I missing something? If updates are few and far between, is this a workable configuration? I'm a little worried about having 6 servers (the minimum configuration, given 3 offices and a failover requirement) needing to communicate for each update.