3 votos

Técnica de recuperación de desastres de la cartera de órdenes limitadas

He diseñado un libro de órdenes de límite rápido, similar al descrito aquí . Funciona y pasa las pruebas unitarias. Ahora, estoy pensando en su fiabilidad, es decir, en caso de fallo (por ejemplo, una excepción no manejada o el reinicio de la máquina, etc.)

He esbozado un diseño, que después de cada hora, almacenamos todo el estado de la cartera de pedidos en una Base de Datos. Entonces, en caso de fallo, podemos recuperar el estado de la última hora y continuar. En un motor de correspondencia de pedidos con >>1000 Transacciones/Segundo (TPS), ¿es siquiera factible utilizar una Base de Datos para la recuperación de un libro de pedidos en caso de desastre?

6voto

Diondon Puntos 1

Para los datos en un solo host, una arquitectura común es escribir los datos en una cola (puede ser multi-consumidor o consumidor único), y tener un escritor asíncrono que los lee y los persigue en paralelo a la operación de ruta crítica.

Más allá de eso, no importa del todo cómo persiste la cartera de pedidos para su recuperación. Hay muchas formas "correctas" de hacerlo y el diseño óptimo dependerá mucho de otros requisitos empresariales.

Es posible acomodar 1000 transacciones por segundo y más con el hardware actual en un DBMS típico. Pero dicho esto, consignar evento por evento en la base de datos no sería un patrón muy convencional o eficiente. Si tienes la intención de almacenarlos en una base de datos en última instancia, es probable que quieras almacenar los eventos de alguna manera y confirmarlos en lote. Podrías hacerlo en memoria con hosts redundantes; con un archivo plano en el host; con un sistema de gestión de bases de datos más moderno, probablemente distribuido, diseñado para una alta tasa de inserciones por segundo; o con un marco de mensajería que tenga persistencia como Kafka - realmente cualquier cosa.

Sin embargo, si realmente quiere hacerlo correctamente, le recomendaría que buscara soluciones basadas en hardware, como una toma óptica, la duplicación de puertos, un conmutador de capa 1, una tarjeta de captura dedicada o soluciones de mensajería comerciales como Solace, Informatica o Tibco. Persista los mensajes de órdenes entrantes tan pronto como lleguen al borde de su red, incluso antes de actualizar el libro de órdenes.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X