Nueva versión de Ultra Tesla: Más rápido, seguro y eficiente.

Iniciado por DtxdF, Octubre 01, 2020, 11:43:05 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Ultra Tesla es un proyecto de código abierto para crear redes distribuidas de servicios fácil, rápido y seguro, usando el poder de computo de múltiples ordenadores. El proyecto permite unificar los distintos servidores en una única interfaz que es proporcionada para el mismo usuario creando una sensación de transparencia.


Este proyecto lo llevo haciendo desde hace algún tiempo en mis tiempos libres. En esta nueva versión le he dedicado más esfuerzo que a la primera e incluso he estudiado algunas cosas nuevas para poder llevarlo a cabo, espero les guste y les sea de utilidad.

¿Qué hay de nuevo?:

En la última versión se hicieron grandes cambios, se arreglaron varios errores y se mejoraron muchas funcionalidades. Entre las más destacadas:


  • Posibilidad de transferir grandes cantidades de datos (probado con 3.5 GiB)
  • Eficiencia en cuanto a procesamiento y usabilidad en la memoria
  • Esquema de cifrado AES-GCM/RSA/SHA3 cambiado por uno más eficiente pero que ofrece la misma seguridad: x25519-xsalsa20-poly1305MAC y para la firma de los datos: ed25519.
  • UTeslaCLI ahora carga el triple de rápido y consume menos recursos.
  • Ya no se usa HTTP, ahora se usa simplemente TCP y en la capa de aplicación: ProtoTesla
  • Ahora es mucho más modular. Antes las funcionalidades que creaban la infraestructura de Ultra Tesla estaban en el mismo núcleo, lo cual hacía que fuera difícil de mantener a corto y largo plazo, por lo que se optó por transformar esas funcionalidades en servicios independientes.
  • Ya no se modifica el código en tiempo de ejecución (lo cual era catastrófico); se optó por usar composición.

Entre los fallos arreglados:


  • No se podía usar SSL en el cliente MySQL
  • No se podía usar un proxy
  • Cuello de botella en el núcleo
  • Se usaba reflexión sin una lista exclusiva de atributos permitidos
  • Condición de carrera cuando varios clientes se conectaban y usaban el mismo usuario
  • Ya no se autorecargan los módulos en tiempo de ejecución (lo cual era catastrófico y lento)

Wiki y documentación:


Wiki: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

TODO:


  • Probarlo en más sistemas unix-like y otros, como Windows.
  • Transferir mucho más rápido los datos de gran magnitud
  • Subirlo a AUR

Bugs:

Al momento de importar un módulo o librería ya sea en un servicio o un «plugin» se necesita asegurar que no ha sido importado anteriormente. Esto se puede saber de la siguiente manera:

Código: python
import sys
print("<módulo o librería>" in sys.modules)


Para recrear un ejemplo más realista de lo anteriormente mostrado usando una librería fictia llamada "foo":

Código: python
import sys
print("foo" in sys.modules)


Una incongruencia que estoy tratando de solucionar.

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Es estupendo tu trabajo!!

Cada versión nos deja más sorprendidos!

Qué continúe el progreso, compañero.

Saludos

Gabriela
Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

Hola @No tienes permitido ver enlaces. Registrate o Entra a tu cuenta ^-^, muchas gracias por leer el post y el proyecto, como siempre es un gusto compartir este tipo de cosas.

CitarQué continúe el progreso, compañero.

Así será  ;D

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Simplemente genial @DtxdF, gran trabajo como siempre ;D ;D

Saludos!
-Kirari

@No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Gracias compañero ^-^

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF