“Durable”
Parece que la palabra “duradero” es un término emergente en el mundo de los servicios sin servidor. Según tengo entendido, es como permitir el estado en lugares donde normalmente no se esperaría tenerlo. Por ejemplo, llamas a alguna función de la nube y ejecutas algo de JavaScript… a menos que tengas que obtener algunos datos de otro lugar, no tiene más información que su propio código. No recuerda lo que pasó la última vez que se ejecutó. Es borrón y cuenta nueva cada vez. Pero digamos que su función en la nube era class
, y cuando inicializó esa clase obtuvo una identificación, y a través de esa identificación podía hablar con esa instancia exacta de esa clase cuando quisiera. Esa instancia permanece mientras la necesites. Es duradero .
Cloudflare lanzó una función llamada Objetos duraderos :
… nos decidimos por “Objetos duraderos únicos”, o “Objetos duraderos” para abreviar. Permítanme explicarles cuáles son desglosándolos:
• Objetos: Los Objetos Duraderos son objetos en el sentido de la Programación Orientada a Objetos. Un objeto duradero es una instancia de una clase; literalmente, una definición de clase escrita en JavaScript (o el idioma que elija ). La clase tiene métodos que definen su interfaz pública. Un objeto es una instancia de esta clase, que combina el código con algún estado privado.
• Único: cada objeto tiene un identificador único a nivel mundial. Ese objeto existe en un solo lugar en todo el mundo a la vez. Cualquier trabajador que se ejecute en cualquier parte del mundo y que conozca el ID del objeto puede enviarle mensajes. Todos esos mensajes terminan entregados en el mismo lugar.
• Durable: a diferencia de un objeto normal en JavaScript, los objetos duraderos pueden tener un estado persistente almacenado en el disco. El estado duradero de cada objeto es privado para él, lo que significa no solo que el acceso al almacenamiento es rápido, sino que el objeto puede incluso mantener de forma segura una copia consistente del estado en la memoria y operar con latencia cero. El objeto en memoria se cerrará cuando esté inactivo y se volverá a crear más tarde según demanda.
Muy genial. Los aspectos en tiempo real son extremadamente atractivos.
Azure también está utilizando “duradero” en sus oficinas a través de Durable Functions . Parte de esa oferta son Funciones de entidad :
Las entidades se comportan un poco como pequeños servicios que se comunican mediante mensajes. Cada entidad tiene una identidad única y un estado interno (si existe). Al igual que los servicios u objetos, las entidades realizan operaciones cuando se les solicita. Cuando se ejecuta una operación, puede actualizar el estado interno de la entidad. También podría llamar a servicios externos y esperar una respuesta. Las entidades se comunican con otras entidades, orquestaciones y clientes mediante mensajes que se envían implícitamente a través de colas confiables.
La documentación es un poco complicada de entender para mí (creo que está dirigida a personas que viven y respiran estas cosas más que yo), pero el concepto suena muy similar al de Cloudflare. Las entidades tienen ID a través de los cuales se accede a ellas. Persisten y pueden usarse para las mismas cosas en tiempo real, como mostrar el estado/puntuación de un videojuego a cualquier persona que esté conectada.
Deja un comentario