Quiero ejecutar múltiples aplicaciones Erlang, una siendo Riak y otra siendo un servidor web. ¿Debo ejecutarlos de la misma manera en máquinas virtuales Erlang separadas y por qué?Ejecutando múltiples aplicaciones Erlang. ¿Una o muchas máquinas virtuales?
Respuesta
Si no tienen que hacer nada entre ellos: No. Es posible que deba reiniciar la máquina virtual para una de las aplicaciones, lo que provocaría un tiempo de inactividad para ambas.
Se llama "destino compartido", una decisión de diseño común. Cuantos más subsistemas comparten recursos comunes, más se vincula su "destino". En caso de mal funcionamiento/falla, más "destino compartido" -> mayor probabilidad de falla sistemática.
IF puede tener cada uno en máquinas virtuales separadas, entonces yo diría que es mejor así.
¿Esto no implica que deba ejecutar todos mis procesos de servidor en una VM separada? :) – Zed
@zed: eso no es exactamente lo que esto significa (observe el "IF" en mayúscula). Hay ** siempre ** un SPOF (Single Of Failure) acostado ** en algún lugar ** - se trata de administrar el sistema para un nivel aceptable de disponibilidad para un determinado punto de costo. Pero sabías todo eso, ¡sé que me estás tirando de la pierna en este momento! Aclamaciones. – jldupont
Mientras que muchos recomendarían decoupling estos subsistemas tomaría el enfoque opuesto. Erlang tiene una estrategia integrada para ejecutar muchos applications en el mismo release. Si sus aplicaciones se comunican entre sí directamente, podría tener sentido agruparlas en un lanzamiento. Esto hará que las llamadas entre las aplicaciones sean más rápidas. Algunos argumentarán que todas sus aplicaciones ahora comparten el mismo destino si necesita desmontar el sistema para una actualización que solo una de las aplicaciones necesita. Este es un punto discutible con Erlang en el que está distribuyendo sus aplicaciones a través de muchos nodos. También la mayoría de las actualizaciones se pueden hacer con hot code loading.
Al usar máquinas virtuales separadas, se pierden muchos beneficios de erlang.
¿Qué beneficios se pierden? – GxFlint
- 1. Despliegue de aplicaciones múltiples Grails con Apache/Tomcat + Máquinas virtuales
- 2. máquinas virtuales
- 3. Cómo comparar máquinas virtuales
- 4. máquinas virtuales del futuro
- 5. Optimización de software para máquinas virtuales
- 6. Desarrollando núcleos y probándolos en máquinas virtuales
- 7. Estado de distribución en muchas máquinas
- 8. ¿Bases de datos múltiples o muchas tablas?
- 9. Obtenga una lista de máquinas virtuales en ejecución usando VBoxManage
- 10. ¿Una tabla o muchas?
- 11. Base de datos de registro de errores: para muchas aplicaciones
- 12. construcción usando múltiples máquinas
- 13. ¿Cómo verifico elegantemente muchas condiciones en Erlang?
- 14. ¿Cómo manejan las máquinas virtuales modernas la asignación de memoria?
- 15. ERLANG - Aplicaciones de temporización
- 16. ¿Tiene una interfaz con muchos métodos virtuales? ¿O tener muchas interfaces con solo 1 método virtual?
- 17. Erlang en una JVM/CLR
- 18. muchas-a-una con múltiples columnas
- 19. Estrategia para pruebas automatizadas de IU en máquinas virtuales remotas
- 20. MAC OS X: MAMP Medio Ambiente y de máquinas virtuales
- 21. reiniciar automáticamente las aplicaciones Erlang
- 22. Almacenamiento de máquinas virtuales VMware en un disco duro externo
- 23. ¿Es String.hashCode() portátil entre máquinas virtuales, JDK y sistemas operativos?
- 24. ¿Cómo eliminar múltiples directorios virtuales?
- 25. Muchas o muchas búsquedas en Django
- 26. Erlang, cómo cargar aplicaciones con sus dependencias
- 27. Escalar aplicaciones multiproceso en máquinas multinúcleo
- 28. Múltiples máquinas de estado en un modelo?
- 29. muchas CPU son necesarios antes de Erlang es más rápido que un solo hilo de Java
- 30. Hibernate ¿Hay muchas o muchas relaciones establecidas o listas?
Pensé que la VM Erlang no se cayó? – Zubair
Un motivo para un reinicio es modificar una opción de VM. No puedes hacer eso sin reiniciar. Además: En este caso, podría producirse una conmutación por error, por lo que la aplicación no está inactiva, solo un nodo. : D – ZeissS
La actualización a una versión más nueva de Erlang VM también necesita reiniciarse. – Zed