Respuestas>Más información sobre fiabilidad y tiempo de actividad>¿Qué es la alta disponibilidad en la infraestructura de blockchain?
¿Qué es la alta disponibilidad en la infraestructura de blockchain?
// Tags
cadena de bloques de alta disponibilidadtiempo de actividad de la cadena de bloques
En resumen: La alta disponibilidad (HA) se refiere a los sistemas diseñados para permanecer en línea y operativos con un tiempo de inactividad mínimo, incluso cuando fallan componentes concretos. En la infraestructura de blockchain, la HA significa que los puntos finales RPC, los nodos y los flujos de datos siguen atendiendo las solicitudes de forma fiable, con un objetivo habitual de un tiempo de actividad del 99,9 % o superior. Por qué el tiempo de actividad es más importante de lo que crees
Cuando una aplicación web tradicional deja de funcionar, los usuarios ven una página de error. Cuando la infraestructura de la cadena de bloques deja de funcionar, las consecuencias pueden ser mucho más graves. Las transacciones perdidas, los datos obsoletos, las operaciones fallidas y los eventos no procesados no solo frustran a los usuarios, sino que suponen un coste económico real.
Imagina un bot de trading de DeFi que depende de un endpoint RPC para enviar transacciones. Si ese endpoint se queda sin conexión, aunque sea solo durante 30 segundos, en medio de una fluctuación volátil del mercado, el bot pierde por completo la oportunidad. O piensa en una aplicación de monedero que no puede consultar los saldos porque su proveedor de nodos está sufriendo una interrupción del servicio. Los usuarios no saben si sus fondos están a salvo y tu cola de asistencia se desborda.
La alta disponibilidad es la disciplina de ingeniería que evita que se produzcan estas situaciones. Consiste en diseñar sistemas en los que un solo fallo no provoque la interrupción total del servicio.
¿Qué es la alta disponibilidad en la cadena de bloques?
La alta disponibilidad en blockchain consiste en mantener los nodos, los puntos finales RPC y los flujos de datos en línea y operativos, incluso cuando fallan algunos componentes concretos. En lugar de depender de un único nodo o de una sola región, una configuración de alta disponibilidad distribuye la carga de trabajo entre componentes redundantes, de modo que un único fallo nunca provoque la interrupción total del servicio. Depende en gran medida de que los nodos estén en buen estado y sincronizados, por lo que la fiabilidad de los nodos y la conmutación automática por error son elementos fundamentales.
Cómo funciona la alta disponibilidad
En esencia, la alta disponibilidad (HA) consiste en eliminar los puntos únicos de fallo. En lugar de depender de un único servidor, un único centro de datos o un único proveedor de servicios en la nube, un sistema de alta disponibilidad distribuye su carga de trabajo entre múltiples componentes redundantes.
En la infraestructura de blockchain, esto suele implicar varias capas. La primera es la distribución geográfica, en la que los nodos se reparten por varias regiones, de modo que, si un centro de datos tiene un problema, el tráfico se redirige automáticamente a la alternativa más cercana que funcione correctamente. La segunda es el despliegue multicloud. El hecho de operar con más de un proveedor de nube (y, en ocasiones, con servidores físicos) garantiza que una interrupción específica de una nube no provoque la caída de toda la pila. La tercera es el equilibrio de carga, que distribuye las solicitudes RPC entrantes entre un conjunto de nodos operativos, desviándolas automáticamente de aquellos que sean lentos o no respondan. La cuarta es la supervisión del estado, en la que sistemas automatizados comprueban continuamente el estado de los nodos, la altura del bloque y los tiempos de respuesta, señalando los problemas antes de que afecten a los usuarios.
Estos componentes funcionan conjuntamente para crear lo que los ingenieros denominan «tolerancia a fallos». El sistema absorbe los fallos de forma fluida, en lugar de colapsarse.
Medición de la disponibilidad
La disponibilidad suele expresarse como un porcentaje de tiempo de funcionamiento durante un periodo determinado. A menudo oirás términos como «tres nueves» (99,9 %) o «cuatro nueves» (99,99 %).
Esto es lo que significan realmente esas cifras en la práctica. Con un tiempo de actividad del 99,9 %, se producen aproximadamente 8,7 horas de inactividad al año. Con un 99,99 %, esa cifra se reduce a unos 52 minutos al año. Con un 99,999 % (cinco nueves), el tiempo de inactividad es de poco más de 5 minutos en todo el año.
Cada nueve adicional resulta exponencialmente más difícil de alcanzar y requiere una inversión considerablemente mayor en redundancia, supervisión y automatización. Para la mayoría de las aplicaciones de blockchain, el 99,99 % es el objetivo que ofrece un equilibrio entre coste y fiabilidad.
¿Qué porcentaje de disponibilidad deberías fijarte como objetivo?
Los objetivos de tiempo de actividad se expresan en «novenas». Cada «novena» adicional reduce drásticamente el tiempo de inactividad permitido y su consecución supone un mayor coste. La tabla muestra lo que significa cada nivel en la práctica a lo largo de un año completo.
Tiempo de actividad
Nombre
Tiempo de inactividad al año
99.9%
Tres nueves
Unas 8,7 horas
99.99%
Cuatro nueves
Unos 52 minutos
99.999%
Cinco nueves
Poco más de 5 minutos
¿En qué se diferencia la alta disponibilidad de la tolerancia a fallos?
La gente utiliza estos términos indistintamente, pero no significan lo mismo. La alta disponibilidad tiene como objetivo minimizar el tiempo de inactividad, aceptando breves interrupciones durante la conmutación por error. La tolerancia a fallos busca un tiempo de inactividad nulo mediante el funcionamiento en paralelo de componentes totalmente redundantes. La mayoría de los equipos de blockchain apuestan por la alta disponibilidad porque ofrece un alto nivel de tiempo de actividad a un coste razonable.
Los servicios web tradicionales pueden limitarse a poner en marcha más servidores detrás de un equilibrador de carga. La infraestructura de la cadena de bloques es más compleja, ya que los nodos deben mantenerse sincronizados con la red. Un nodo que se queda rezagado en cuanto a la altura del bloque es, en esencia, inútil, aunque técnicamente esté «conectado».
La cadena de bloques también presenta modos de fallo únicos que no existen en la infraestructura tradicional. Las reorganizaciones de la cadena pueden invalidar temporalmente los datos recientes. Las actualizaciones de la red o los hard forks requieren actualizaciones coordinadas de los nodos. Las diferentes implementaciones de los clientes pueden comportarse de forma distinta bajo carga. Y los propios datos crecen constantemente, lo que significa que los requisitos de almacenamiento y sincronización aumentan con el tiempo.
Todo esto hace que la alta disponibilidad (HA) en blockchain sea más compleja que el simple hecho de utilizar un equilibrador de carga delante de un clúster de servidores. Requiere un profundo conocimiento de los protocolos y una inversión operativa continua.
¿Cómo se diseña una configuración RPC de alta disponibilidad?
Una configuración resiliente combina varias técnicas: distribuir los nodos entre distintas regiones y proveedores, colocar un equilibrador de carga delante de un grupo de nodos operativos, supervisar la altura del bloque y la latencia para que los nodos desincronizados se eliminen automáticamente, y mantener un proveedor de respaldo listo para la conmutación por error. Desde el punto de vista de la aplicación, sigue tratándose de un único RPC endpoint, pero detrás de él se encuentra la redundancia que te mantiene conectado. La supervisión continua de tu infraestructura de cadena de bloques es lo que hace posibles las decisiones de enrutamiento automáticas.
Cómo aborda « Quicknode » la alta disponibilidad
Quicknode gestiona la infraestructura en más de 14 regiones a través de múltiples proveedores de servicios en la nube y de servidores físicos. Cada solicitud RPC se redirige al nodo operativo más cercano mediante un enrutamiento global basado en DNS, y el sistema supervisa continuamente la altura del bloque, la latencia y las tasas de error para garantizar que las solicitudes siempre lleguen a nodos que estén en línea y totalmente sincronizados.
Para los equipos que necesitan garantías aún mayores, Quicknode ofrece Clústeres con infraestructura privada y aislada, así como acuerdos de nivel de servicio (SLA) que garantizan el tiempo de actividad.
¿Qué significa «alta disponibilidad» para un servidor RPC endpoint?
Esto significa que el servicio « endpoint » sigue respondiendo a las solicitudes incluso cuando fallan nodos, regiones o proveedores concretos. El tráfico se redirige automáticamente a nodos operativos y sincronizados, por lo que tu aplicación disfruta de un tiempo de actividad constante en lugar de mostrar errores.
¿Qué nivel de disponibilidad se considera adecuado para una infraestructura de blockchain?
La mayoría de las aplicaciones de producción tienen como objetivo un tiempo de actividad del 99,99 %, lo que permite unos 52 minutos de inactividad al año. Alcanzar el 99,999 % es posible, pero supone un coste considerablemente mayor en cuanto a redundancia y automatización.
¿Por qué resulta más difícil garantizar la alta disponibilidad en las cadenas de bloques que en las aplicaciones web?
Los nodos deben mantenerse sincronizados con la red, por lo que un nodo que esté conectado pero que vaya retrasado en cuanto a la altura del bloque sigue siendo inutilizable. Los eventos específicos de la cadena de bloques también complican las cosas, algo que tratamos en los modos habituales de fallo de la cadena de bloques.
¿Cómo afectan las reorganizaciones de la cadena a la disponibilidad?
Una reorganización puede invalidar temporalmente los datos recientes, por lo que los sistemas de alta disponibilidad esperan a recibir confirmaciones o gestionan las reorganizaciones de forma explícita. Consulta «¿Qué es una reorganización de la cadena de bloques?» para obtener más detalles.
¿La alta disponibilidad elimina la necesidad de contar con un proveedor de copias de seguridad?
No. La alta disponibilidad de un único proveedor reduce el riesgo, pero contar con un proveedor de copias de seguridad independiente te protege frente a incidentes que afecten a todo el proveedor y es un elemento habitual de un diseño resiliente.