Using Replication to Build Highly Available .NET Applications
Johannes Osrael, Lorenz Froihofer, G. Stoifl, L. Weigl, K. Žagar, Igor Habjan, Karl Michael Goeschka · 2006
Replication is a well-known technique to achieve faulttolerance in distributed systems, thereby enhancing availability. However, so far, not much attention has been paid to object replication using Microsoft’s .NET technologies. In this paper, we present the lessons we have learned during design and implementation of a .NET based replication framework that allows building dependable, distributed .NET applications. Our framework does not only support traditional replication protocols like primary-backup replication or voting but also a new protocol for explicit balancing between data integrity and availability. Based on our experiences, we recommend to use a state-of-the-art group communication toolkit (e.g., Spread) and .NET Remoting as basis for object replication in a .NET environment.