Artículo del Blog
Autor
George Kudrayvtsev
Fecha de publicación
Horizonte
API
Con el lanzamiento de Horizon 2.0, hemos introducido una nueva forma de ejecutar la infraestructura que alimenta la red de Stellar. Este cambio de paradigma permite a grandes organizaciones y pequeños desarrolladores por igual desplegar Horizon con menos recursos, bajo menos restricciones, y con mucho más flexibilidad que nunca antes.
En el pasado, necesitabas ejecutar un nodo de Stellar Core para desplegar Horizon, lo que te cargaba con grandes requisitos de espacio en disco y una configuración cuidadosa necesaria por Stellar Core. La complejidad de la antigua arquitectura no tenía sentido para muchos casos de uso, y no era negociable: las baterías estaban incluidas, las necesitaras o no.
Ahora, puedes elegir una configuración que se ajuste a tu caso de uso. En lugar de seguir un plan universal, primero respondes una pregunta importante: ¿Qué quieres hacer? ¿Quieres ejecutar un validador? ¿O simplemente quieres ejecutar Horizon?
Si decides que quieres ejecutar un validador, entonces deberías consultar la documentación sobre la configuración y despliegue de un nodo de Stellar Core, mientras que si decides que solo necesitas Horizon, entonces puedes mantenerlo simple y leer sobre el despliegue de un servidor API.
Así es como se veía la antigua arquitectura:
Algunos de los aspectos menos destacados de esta arquitectura deberían ser aparentes para cualquiera que haya desplegado esta arquitectura en el pasado:
Todas estas limitaciones se han resuelto con la introducción de Horizon 2.0. Afortunadamente, eso fue entonces, y esto es ahora:
La belleza de la nueva arquitectura modular es que presenta configuraciones más simples que pueden adaptarse a todo tipo de casos de uso:
Aunque desplegar un nodo completo de Stellar Core todavía puede ser un proceso involucrado, la introducción de Captive Stellar Core te permite centrarte casi enteramente en desplegar Horizon en sí, permitiéndote participar en la red sin asumir la responsabilidad completa de la gestión del consenso.
A diferencia de seleccionar un Pokémon inicial, cambiar de opinión sobre tu arquitectura no es difícil después del hecho. Si de repente te encuentras invertido en la descentralización de la red y quieres ejecutar un validador, la instancia de Stellar Core independiente se puede desplegar de forma independiente mientras tu instancia de Captive Core continúa trabajando con Horizon. Lo inverso también es cierto: si estás ejecutando un validador y decides que ejecutar Horizon es todo lo que te importa, todo lo que se necesita es un poco de reconfiguración para introducir la instancia de Captive Core y disfrutar de los beneficios de rendimiento y arquitectónicos que proporciona.
Como ya se mencionó, los requisitos del sistema difieren de versiones arquitectónicas anteriores en gran medida debido a los cambios en cómo Stellar Core interactúa con Horizon. Específicamente, la base de datos en memoria requiere alrededor de 3 GiB de RAM, y los requisitos de espacio en disco han disminuido significativamente (de nuevo, por cientos de gigabytes).
Como siempre, una máquina más potente resulta en una ingestión más rápida, pero vale la pena mencionar que después de una ingestión inicial, mantenerse “en línea” es mucho menos intensivo en recursos. Además, es raro que una organización realmente necesite la historia completa del ledger, y por lo tanto puede conformarse con ingerir rangos mucho más pequeños de metadatos de transacciones.
Horizon 2.0 introduce beneficios masivos de rendimiento y arquitectura que hacen que ejecutar la infraestructura de Stellar sea más fácil que nunca:
¿Emocionado con estos cambios? Consulta la guía de migración para empezar hoy mismo!