I'm defining a 3-tier architecture for a web application. Due to high availibility requirements, i have defined to deploy the business layer (BL) and the data access layer (DAL) in a cluster of two nodes, and the presentacion layer (PL) in two physical servers that can be accesed through a load balancer. The data access layer will be implemented using Entity Framework 4.0 (EF).
Using entity framework is possible to generate Self-Tracking entities that solve the problems of having a N-tier architecture (For more info http://msdn.microsoft.com/en-us/magazine/ee321569.aspx), but i'm not sure if it is a feature that can be used in the scenario where an entity is queried from a node of the cluster using an EF DbContext 1, then is modified in the remote PL, and finally it is saved in the another cluster node using an EF DBContext 2. I'm assuming that in this case a distributed cache solution should be used to unify the EF DBcontexts, thus the nodes of the cluster could use the same context, but i wanna make sure that there is not a simpler solution.
1- ¿Does Self-Tracking entities work well in the scenario described?
2- ¿What is the common solution to this situation?
Thanks in advance