Construyendo una aplicación web suave en tiempo real tolerante a fallas con Erlang / OTP

Me gustaría crear una aplicación web suave en tiempo real tolerante a fallos para una tienda de reparto de pizzas. Debería ayudar a la pizzería a aceptar llamadas telefónicas de los clientes, colocarlos como pedidos en el sistema (a través de un cliente web de CRM) y ayudar a los despachadores a asignar controladores de entrega a los pedidos.

Estos objetivos no son nada inusuales, pero me gustaría que el servicio esté disponible las 24 horas del día, los 7 días de la semana, es decir, para que sea tolerante a fallas. Además, me gustaría que funcione muy rápido y que sea muy receptivo.

A continuación se muestra una vista de arquitectura muy simple para dicha aplicación.

El problema es que no sé cómo usar toda la bondad de Erlang / OTP para hacer que la aplicación sea muy sensible y tolerante a fallos.

Aquí están mis preguntas:

¿Qué elementos del sistema deben replicarse para proporcionar tolerancia a fallos y cómo debo hacer eso? Sé que puedo almacenar el estado de cada vehículo (coordenadas, órdenes asignadas, etc.) en una base de datos replicada de Mnesia. ¿Es esa una manera correcta de ir?Los servicios de almacenamiento de datos deben estar basados ​​en SQL convencional (por ejemplo, en función dejefe_db) y ¿qué se debe hacer en Mnesia para proporcionar una respuesta muy rápida? ¿Se puede usar una base de datos SQL convencional para almacenar los registros y el historial del cliente en una aplicación tan tolerante a fallos y altamente sensible?¿Debo intentar almacenar todos los datos de todos los servicios (clientes, estado de los vehículos, etc.) en la RAM para que la aplicación sea altamente receptiva?Debería almacenar los datos persistentes del vehículo (id, capacidad, etc.) en una base de datos SQL convencional y almacenar los datos en tiempo real (coordenadas, órdenes asignadas, órdenes en el troncal, etc.) en una base de datos Mnesia para hacer que la aplicación sea más en tiempo real sensible?

Respuestas a la pregunta(2)

Su respuesta a la pregunta