A high-availability distributed chat service which can handles server partitions and crashes