high-availability distributed system