开发者

How to separate Erlang applications from each other?

Is there something like virtual environment or sandboxing for Erlang applications? Is it possible to share nodes between many applications owners knowing that nobody can break another ap开发者_Go百科p?


Nodes are the virtual environment for Erlang applications, so you can't just load arbitrary applications into one node and have everything play nice. There are way too many kinds of shared resource to compete for within a node to allow that (module names, registered process names, ETS table names, ...).

However, nodes can very easily communicate with one another more or less transparently, so spinning up a new node for every collection of apps you don't want to manually vet to make sure they work together is fine. You can run more than one app in a node obviously, but you do have to verify yourself that they won't step on each others toes.

It doesn't cost you a whole lot of memory or CPU to run multiple nodes, so I would almost always recommend running different erlang systems (collections of apps that work together) in different nodes even if you have only one physical machine.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜