如何将Erlang应用程序彼此分开?

时间:2011-01-01 21:30:22

标签: erlang

Erlang应用程序是否有类似虚拟环境或沙盒的东西?是否有可能在许多应用程序所有者之间共享节点,知道没有人可以破坏另一个应用程序?

1 个答案:

答案 0 :(得分:4)

节点是Erlang应用程序的虚拟环境,因此您不能将任意应用程序加载到一个节点中,并使一切都运行良好。有太多种共享资源可以在节点内竞争以允许它(模块名称,注册进程名称,ETS表名称......)。

但是,节点可以非常容易地或多或少透明地相互通信,因此为每个不想手动审核以确保它们一起工作的应用程序集合启动一个新节点就可以了。您可以在节点中运行多个应用程序,但您必须验证自己不会踩到彼此的脚趾。

运行多个节点不需要花费大量内存或CPU,因此我几乎总是建议在不同节点中运行不同的erlang系统(一起工作的应用程序集合),即使您只有一台物理机器也是如此