2012-12-13 20 views

回答

2

我会害怕系统中部署的应用程序出现错误。 otp的好例子是SSL应用程序,3年前完全重写。接下来会是http客户端 - 内存泄漏。 Xmerl从来不是这个系统的强大组成部分。另外,要小心第三方Erlang应用程序:新的Web服务器(可能比inets更好,但如果你不需要所有的性能,请考虑稳定的Yaws),ejabberd - 直接操作OS的技术数量,Riak - 与文件系统,ulimit,iostats等

5

运行群集意味着他们共享一个cookie,并且如果知道的cookie比他们可以附加到任何节点(假设他们连接到您的网络),并执行任何Erlang命令或程序。

所以我的想法是聚集意味着至少有两个文件(和一些人)知道什么是cookie(或在哪里可以找到它)。

+1

我认为erlang主机一定不能公开访问 – user425720

+0

我的意思是epmd和net_kernel的高端口 – user425720

+0

作为[参考](http://www.erlang.org/doc/reference_manual/distributed.html#id87338 )说,两个节点可以连接不同的cookie。但是我们必须知道对方的cookie。 –

2

首先,你想让你的集群在一个封闭的VPN中(如果它们相距甚远并且通过WAN进行通信)。然后,您想要在硬化UNIXLINUX之前运行它们。另一个强大的想法是关闭所有epmd连接到你的集群,即使你已经得到了cookie的使用net_kernel:allow(Nodes).

Erlang Vms的一个主要弱点(我已经认识到)是内存消耗。我认为,如果一个Erlang平台为许多用户提供服务并且其不受DOS攻击,那么它的左边就很容易受到攻击。您需要限制Web服务器允许的并发连接数,以便您可以轻松阻止某些script boys in the neighbourhood。另一种情况是在群集中分布/复制数据库。 Mnesia复制数据,但我不确定该数据是否加密。最后,确保您是集群中所有机器的唯一管理员。

相关问题