La recuperación consiste en, tras un error, llevar el sistema a un estado correcto. Una forma de lograrlo es:

  • Almacenamiento estable: En primer lugar, necesitamos un almacenamiento seguro.
  • Checkpoints: Se guarda periódicamente el estado completo del sistema en almacenamiento estable. De esta forma, podemos volver a un escenario previo al fallo.
  • Message logging: Se parte de un checkpoint válido y se repiten todos los mensajes intercambiados desde ese checkpoint.
  • Consenso: En caso de ser necesario, se acuerda entre los componentes vivos el estado correcto.

Estos mecanismos son costosos, pero es mejor que no tener ninguna forma de restaurar el sistema.