Conectando backends Elixir y Go con un wrapper Crystal

2025-06-19
Conectando backends Elixir y Go con un wrapper Crystal

El equipo de Mozi necesitaba conectar una nueva aplicación Elixir Phoenix LiveView a un backend Go existente. Exploraron NIFs y Ports, pero finalmente optaron por el enfoque de Nodo C de Erlang, utilizando Crystal para escribir un wrapper C para mejorar el mantenimiento. Esto desacopla las bases de código en tiempo de compilación y ejecución, utilizando `Node.list` en Elixir para detectar la conectividad del nodo C y S6 para reinicios dentro del contenedor. Si bien hay una penalización de rendimiento al cruzar el límite C/Go, es aceptable para su caso de uso. El resultado es una combinación elegante de tres lenguajes (Elixir, Crystal, Go) que mejora la mantenibilidad.

Leer más
Desarrollo