Cómo crear una arquitectura de servicio web que pueda funcionar cuando el servidor de base de datos está inactivo

Depende del tipo de funcionalidad que desee / necesite cuando esté inactiva y de cuánto tiempo sea la interrupción.

La respuesta corta, sin embargo, es: almacenamiento en caché.

Normalmente, el almacenamiento en caché se utiliza como un potenciador del rendimiento, para reducir la carga en la base de datos (u otros procesos costosos de back-end). Sin embargo, si es minucioso y cuidadoso al respecto, el almacenamiento en caché puede hacer que un sitio aparezca vivo incluso cuando la base de datos desaparece.

La eficacia de la ilusión depende en gran medida del tipo de sitio que tenga, es decir, qué hacen sus usuarios y qué esperan ver.

El almacenamiento en caché de las respuestas (es decir, las cosas que envía su servidor) es mucho más fácil que las solicitudes de almacenamiento en caché (es decir, las cosas que envían sus usuarios). Porque si necesita capturar solicitudes, también necesita construir un sistema para procesarlas más tarde (cuando la base de datos esté disponible).

Pero volvamos a las respuestas de almacenamiento en caché: en un trabajo donde creamos un CMS para sitios web de medios, aproximadamente el 90% de nuestro tráfico se atendió desde Akamai. Si la base de datos o los servidores de aplicaciones estuvieran caídos, esto aumentaría al 100% 🙂