Voglio eseguire più applicazioni Erlang, una è Riak e un'altra è un server web. Dovrei eseguirli nello stesso di macchine virtuali Erlang separate e perché?Esecuzione di più applicazioni Erlang. Una o più macchine virtuali?
risposta
Se non devono fare nulla l'uno con l'altro: No. Potrebbe essere necessario riavviare la VM per una delle applicazioni, il che comporterebbe un tempo di inattività per entrambi.
Si chiama "condivisione del destino", una decisione di progettazione comune. Più sottosistemi condividono risorse comuni, più il loro "destino" è legato insieme. In caso di malfunzionamento/fallimento, più "condivisione del destino" -> aumenta la probabilità di fallimento sistematico.
IF è possibile avere ciascuno in VM separate quindi direi che è meglio così.
Questo non implica che dovrei eseguire tutti i miei processi server in una VM separata? :) – Zed
@zed: non è esattamente ciò che questo significa (notare il "SE" in maiuscolo). C'è ** sempre ** un SPOF (Single Of Failure) che giace ** da qualche parte ** - si tratta di gestire il sistema per un livello accettabile di disponibilità per un determinato punto di costo. Ma tu sapevi tutto questo, so che mi stai solo prendendo in giro a questo punto! Saluti. – jldupont
Mentre molti raccomanderebbero decoupling questi sottosistemi adotterei l'approccio opposto. Erlang ha una strategia integrata per eseguire molti applications sullo stesso release. Se le tue applicazioni parlano tra di loro direttamente, potrebbe aver senso raggrupparle insieme in una versione. Ciò renderà le chiamate tra le applicazioni più veloci. Alcuni sostengono che tutte le applicazioni ora condividono lo stesso destino se doveste aver bisogno di spegnere il sistema per un aggiornamento di cui solo una delle applicazioni ha bisogno. Questo è un punto controverso con Erlang in cui stai distribuendo le tue applicazioni su molti nodi. Inoltre, la maggior parte degli aggiornamenti può essere effettuata con hot code loading.
Utilizzando VM separate si perdono molti vantaggi di erlang.
Quali sono i benefici persi? – GxFlint
- 1. Ottimizzazione software per macchine virtuali
- 2. Le macchine virtuali
- 3. Le macchine virtuali come LLVM o PARROT consentono l'utilizzo della stessa libreria da più lingue?
- 4. Esecuzione da remoto di Emacs tra più macchine
- 5. Come eseguire il benchmark delle macchine virtuali
- 6. ERLANG - Applicazioni di temporizzazione
- 7. Collegamento di rete tra più macchine VirtualBox
- 8. Unità condivisa tra macchine virtuali Azure
- 9. Come posso eseguire più macchine Andy
- 10. C'è un modo per collegare lo stesso disco a più macchine virtuali di Azure
- 11. Come rimuovere più directory virtuali?
- 12. Esecuzione di più applicazioni in un contenitore finestra mobile
- 13. Sviluppo kernel e loro collaudo in macchine virtuali
- 14. equivalente ec2metadata per macchine virtuali Azure
- 15. Interpreti vs compilatori vs macchine virtuali
- 16. Collegare due o più applicazioni allo stesso database utilizzando Hibernate
- 17. PHP: gzdeflate è sicuro su più macchine?
- 18. Distribuzione dello stato su più macchine
- 19. Le macchine virtuali necessitano di partizioni di swap?
- 20. Elenca le macchine virtuali di Azure tramite l'API REST
- 21. Lingue e macchine virtuali: funzionalità difficili da ottimizzare e perché
- 22. Come scalare MySQL con più macchine?
- 23. Esecuzione di più azioni una dopo l'altra
- 24. Più di una corrispondenza nell'istruzione case in Erlang?
- 25. Posso eseguire agenti F # su più macchine?
- 26. più applicazioni Spark con HiveContext
- 27. Archiviazione di macchine virtuali VMware su disco rigido esterno
- 28. oggetti di copia tra le diverse virtuali-Macchine efficiente
- 29. Collaborazione di progetti Android Studio su più macchine
- 30. Gestione di macchine docker remote da più computer di sviluppo
Pensavo che l'Erlang VM non fosse andato giù? – Zubair
Un motivo per il riavvio è modificare un'opzione VM. Non puoi farlo senza riavviare. Inoltre: in questo caso potrebbe verificarsi un failover, quindi l'app non è inattivo, ma solo un nodo. : D – ZeissS
Anche l'aggiornamento a una versione più recente di Erlang VM richiede un riavvio. – Zed