Although a network filesystem such as NFS will allow all the servers to access the same filesystem, it's not designed for the fine-grained access. For example, NFS will cache pages. So if one server modifies the page, e.g. a session value, the other servers may not see the change for several seconds. Distributed Sessions Distributed sessions are intrinsically more complicated than single-server sessions. Distributed sessions must communicate between machines to ensure the session state remains consistent.
Load balancing with multiple machines either uses sticky sessions or symmetrical sessions .
Sticky sessions put more intelligence on the load balancer, and symmetrical sessions puts more intelligence on the JVMs. The choice of which to use depends on what kind of hardware you have, how many machines you're using and how you use sessions. Symmetrical Sessions Symmetrical sessions happen with dumb load balancers like DNS round-robin. Distributed sessions in a symmetrical environment are required to make sessions work at all. Otherwise the state will end up spread across the JVMs.