Я хочу запустить несколько приложений Erlang, один из которых является Riak, а другой - веб-сервером. Должен ли я запускать их в одной и той же отдельной виртуальной машине Erlang и почему?Запуск нескольких приложений Erlang. Один или несколько виртуальных машин?
ответ
Если им не нужно ничего делать друг с другом: Нет. Возможно, вам потребуется перезапустить виртуальную машину для одного из приложений, что приведет к простою для обоих.
Это называется «совместное участие в судьбе», общее дизайнерское решение. Чем больше подсистем использует общие ресурсы, тем больше их «судьба» связаны друг с другом. В случае неисправности/отказа, чем больше «разделение судьбы», тем больше вероятность систематического сбоя.
IF вы можете иметь каждый в отдельных виртуальных машинах, тогда я бы сказал, что это лучше.
Не означает ли это, что я должен запускать все свои серверные процессы в отдельной виртуальной машине? :) – Zed
@zed: это не совсем то, что это означает (обратите внимание на «IF» в заглавной букве). Существует ** всегда ** SPOF (Single Of Failure), лежащий ** где-то ** - это сводится к управлению системой для приемлемого уровня доступности для данной точки затрат. Но вы все это знали, я знаю, что вы просто тянете мою ногу в этот момент! Приветствия. – jldupont
Хотя многие рекомендуют decoupling эти подсистемы, я бы принял противоположный подход. У Erlang есть встроенная стратегия для запуска многих applications на том же release. Если ваши приложения говорят друг с другом напрямую, может возникнуть смысл объединить их вместе в выпуск. Это ускорит вызовы между приложениями. Некоторые утверждают, что все ваши приложения теперь имеют одну и ту же судьбу, если вам нужно перевести систему на обновление, которое требуется только одному из приложений. Это спорный вопрос с Erlang, где вы распространяете свои приложения на многих узлах. Также большинство обновлений можно сделать с помощью hot code loading.
Используя отдельные виртуальные машины, вы теряете много преимуществ erlang.
Какие преимущества утеряны? – GxFlint
- 1. Запуск виртуальных машин на окнах
- 2. Сделать несколько виртуальных машин boot2docker
- 3. Несколько развертываний виртуальных машин/экземпляров
- 4. Запуск многих виртуальных машин на одном хосте
- 5. Правовые аспекты виртуальных машин
- 6. Сбор мусора для нескольких виртуальных машин
- 7. Как запустить несколько виртуальных машин одновременно в CloudStack
- 8. Port Forward in Azure - несколько виртуальных машин
- 9. Сервер виртуальных машин VMWare
- 10. Подключение нескольких Android-виртуальных машин через Bluetooth
- 11. API виртуальных виртуальных машин Python
- 12. Несколько виртуальных машин ESXi с одинаковой базой
- 13. Предпочитаемая структура для нескольких виртуальных машин
- 14. LDAP - скрипт SSH для нескольких виртуальных машин
- 15. Продажа нескольких виртуальных машин в Azure MarketPlace
- 16. обнаружено несколько виртуальных машин Lua в Xcode
- 17. Путь связи виртуальных машин
- 18. Менеджер виртуальных машин - поиск виртуальных машин по времени работы
- 19. Поддержка набора виртуальных машин
- 20. Перенос виртуальных машин
- 21. Лицензирование виртуальных машин
- 22. Автоматический запуск и завершение работы виртуальных машин в Hyper-V
- 23. Мониторинг/оптимизация виртуальных машин - какие инструменты?
- 24. Использование виртуальных машин для разработки
- 25. Отображение виртуальных виртуальных машин VirtualBox для Vagrantfiles
- 26. управлять данными состояния сеанса azure через несколько виртуальных машин
- 27. Мониторинг отдельных ядер процессора для нескольких виртуальных машин
- 28. Обмен хранилищем среди виртуальных машин
- 29. Создание нескольких виртуальных машин на основе одного изображения
- 30. Факс виртуальных машин для тестирования
Я думал, что Erlang VM не спустилась? – Zubair
Причиной перезагрузки является изменение опции виртуальной машины. Вы не можете этого сделать без перезапуска. Далее: В этом случае может произойти переход на другой ресурс, поэтому приложение не будет работать, только один узел. : D – ZeissS
Обновление до новой версии версии Erlang VM также требует перезагрузки. – Zed