Apéndice A. Caso práctico del Castor Espacial: Actores, Kubernetes y más

El proyecto Castor Espacial (de Pigs Can Fly Labs) utiliza el servicio de satélite de Swarm y el Protocolo Simple de Transferencia de Correo (SMTP) para proporcionar lo que educadamente se denomina mensajería fuera de la red consciente del valor (también conocida como barata).1 El borrador inicial de la arquitectura central de Space Beaver se construyó utilizando Scala y Akka, pero luego pasamos a utilizar Ray. Al utilizar Ray con Python en lugar de Akka con Scala, pudimos reutilizar el mapeo relacional de objetos (ORM) del sitio web y simplificar la implementación.

Aunque es posible implementar aplicaciones Akka en Kubernetes, es (en opinión de Holden) sustancialmente más complicado que realizar la misma tarea con Ray.2 En este apéndice, recorreremos el diseño general del backend de Space Beaver, el código de los distintos actores, y mostraremos cómo implementarlo (y otras aplicaciones similares).

Nota

El código de este caso práctico se encuentra en el repositorio de GitHub de Pigs Can Fly Labs.

Diseño de alto nivel

El requisito principal de Space Beaver es servir de puente entre el correo electrónico (a través de SMTP), los SMS (a través de Twilio) y las API satélite de Swarm. La mayoría de ellas implican cierta cantidad de estado, como la ejecución de un servidor SMTP, pero los mensajes de correo salientes pueden implementarse sin ningún estado. La Figura A-1 muestra un esquema aproximado del diseño. ...

Get Escalando Python con Ray now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.