Skip to content

UTesla es un proyecto de código abierto para crear redes distribuidas de servicios, usando el poder de computo de múltiples ordenadores en una sola interfaz.

License

Notifications You must be signed in to change notification settings

UltraTesla/UTesla

Repository files navigation

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 en una única interfaz.

¿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: https://github.com/UltraTesla/UTesla/wiki

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:

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":

import sys
print("foo" in sys.modules)

Una incongruencia que estoy tratando de solucionar.

~ DtxdF

About

UTesla es un proyecto de código abierto para crear redes distribuidas de servicios, usando el poder de computo de múltiples ordenadores en una sola interfaz.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages