Buenas prácticas al desarrollar una aplicación en Erlang(y Riak)?
otp (1)
Consulte la barra de refuerzo: https://github.com/basho/rebar, que se utiliza para empaquetar, crear plantillas y administrar lanzamientos de aplicaciones Erlang / OTP. Encontrarás un tutorial completo sobre cómo usarlo.
Eche un vistazo a este tutorial en OTP primero, antes de que pueda cambiar a este que muestra las versiones y cómo se manejan en Erlang. Utilice este libro completo como referencia a medida que desarrolle su proyecto y porque el autor está agregando progresivamente más elementos avanzados que pueda necesitar.
También puede seguir leyendo sobre las aplicaciones de Erlang y luego consulte estos enlaces rápidos a continuación:
Erlang Packaging, Process One
Video de empaquetado de OTP por Chicago Boss Guys
Gestión de Dependencias de Erlang
Richard Jones Consejos y ejemplos sobre Packaging Erlang Projects with Dependencies
Maven Tool y cómo se usa en el empaquetado de proyectos de Erlang
Lo más importante, ¡toma las rebar
muy en serio! Es muy importante en la administración de aplicaciones Erlang que tienen dependencias. Puede seguir publicando sus preguntas aquí en stackoverflow para cualquier ayuda a medida que avanza.
Antes de que me olvide, echa un vistazo a muchas cosas de la comunidad Riak
EDITAR
Además, es importante consultar la documentación del sistema sobre creación de sistemas de destino y también cómo usar Reltool para manejar las versiones. Lo bueno de erlang es que tiene varias opciones de cómo hacer algo, siempre y cuando sea fácil de mantener su aplicación de esa manera. Con los sistemas de destino, aprenderá cómo integrar la máquina virtual Erlang, cómo ejecutar aplicaciones Erlang en Solaris
, VxWorks
y crear aplicaciones Erlang como servicios en Windows NT utilizando erlsrv .
Normalmente, nos aseguramos de que como un sistema operativo está arrancando un servidor, nuestra aplicación comienza con él. Solaris hasta ahora tiene más personalizaciones que cualquier otro sistema operativo en lo que respecta a la incorporación de máquinas virtuales Erlang / OTP. Siempre puede comunicarse con (un) VM de Erlang incrustado utilizando Escript donde el escript crea un nodo de erlang que puede conectarse a la VM incorporada (por lo que debe compartir la misma cookie) y la VM incorporada debe haber permitido el nodo creado temporalmente para conectarse ejecutando
net_kernel:allow(List_of_nodes) , asegúrese de llamar a este método para hacer que su VM incorporada permita conexiones solo desde un número conocido y estrictamente especificado de Nodos.
Estamos en el proceso de familiarizarnos con Erlang / OTP y Riak (Core, KV, Pipe, etc.) a fin de desarrollar una aplicación distribuida de código abierto. Nuestro proyecto va a tener un conjunto de dependencias: herramientas como erlang_js, protobuffs, etc., pero también servicios que debemos ejecutar, como Riak KV.
En Python / Ruby / Node.js, si los módulos se colocan en un subdirectorio estándar relativo a su proyecto, puede hacer referencia a ellos y luego empacarlos en versiones. Puede iniciar un shell en el directorio del proyecto, jugar con sus módulos, hacer pruebas, etc., todo de manera sencilla si se siguen las buenas prácticas.
¿Cuáles son las mejores prácticas para organizar un entorno de desarrollo en Erlang / OTP, con todas las dependencias accesibles (y fácilmente actualizable a la última versión), acceso de shell a nodos en ejecución, pruebas, lanzamientos, etc.?