es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Caché de escritura directa — ¿Qué sucede si se escribe en la base de datos pero falla la actualización de la caché distribuida?

En un sistema distribuido, es imposible garantizar que tanto la base de datos distribuida como la caché distribuida se actualicen simultáneamente en una escritura en modo de escritura a través.

Es posible que la base de datos se haya actualizado y luego haya fallado temporalmente la escritura en la caché distribuida.

  • ¿Cómo responde la caché de escritura en modo de escritura a través al llamador en este caso? ¿Reconoce la escritura o la falla? Si falla la escritura, ¿se elimina eventualmente la entrada de la base de datos? ¿El llamador necesita preocuparse por la idempotencia en caso de reintentos?
  • ¿Recordará la caché de escritura en modo de escritura a través que la escritura no se actualizó en la caché y eventualmente actualizará la caché?
  • ¿La caché de escritura en modo de escritura a través sigue las bitácoras de la base de datos y busca la consistencia eventual para actualizar la caché eventualmente?

¿Cómo funciona todo esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    En un sistema distribuido, no siempre es posible garantizar que tanto la base de datos distribuida (DB) como la caché distribuida se actualicen simultáneamente en una operación “write-through”. A veces, la DB puede actualizarse primero mientras que la escritura en caché distribuida falla temporalmente. Cuando se enfrenta a este escenario, la caché de escritura puede responder al llamante de diferentes formas. Puede confirmar la escritura (“ACK”) o fallar (“FAIL”). Si la escritura falla, la entrada en la DB puede o no ser eliminada posteriormente.

    En caso de reintento, el llamante debe tener en cuenta el problema de la idempotencia. La caché de escritura puede recordar que la escritura no se actualizó en la caché y eventualmente actualizarla. Sin embargo, este comportamiento depende de la implementación de la caché.

    La caché de escritura puede optar por seguir los registros de la DB y buscar una consistencia eventual. Esto significa que la caché actualizará los datos en caché eventualmente, manteniendo así la consistencia en todo el sistema.

    En resumen, la caché de escritura puede responder de manera diferente cuando falla una operación “write-through” debido a un error temporal. Puede confirmar o fallar la escritura. Puede o no eliminar la entrada de la DB al fallar. Puede actualizar eventualmente la caché, dependiendo de su implementación. La caché puede optar por mantener la consistencia siguiendo los registros de la DB y buscando una consistencia eventual.

Comments are closed.