Erlang内部集群通信

时间:2015-10-01 14:10:48

标签: erlang cluster-computing elixir riak microservices

在Erlang中,一组连接的计算机对于您可以拥有多少台计算机有一些软限制,而不会因为八卦协议正常工作而发送太多消息。

This question有类似的陈述。我还看到Riak的一些基准测试可以运行200个节点(找不到链接,但我认为这是一个Basho测试)。

据我所知,200 Erlang节点集群能够真正重负载。我只是想知道替代方案,如果这个限制成为瓶颈。

似乎更大规模的答案(这将是巨大的)是将您的系统隔离在较小的孤立集群中,就像微服务方法一样。

我的问题是:这是进行此沟通的推荐方式吗?

我不想提供REST服务,因为mahmaling / unmarshiling JSON,HTTPS握手和其他协议绑定操作(负载平衡器等)的不必要的重量。

BERT-RPC似乎是最合适的,但它的发展似乎陈旧。 NkCluster似乎已经实现了类似的东西但是有没有Erlang / Elixir / Joxa / LFE这样做的方式?

1 个答案:

答案 0 :(得分:0)

您可能正在寻找的是将节点设置为hiddenhttp://www.erlang.org/doc/reference_manual/distributed.html#id87289),如果您尝试拥有大量可以通过显式连接相互通信的连接节点,但不要由于传播,不希望它们被看到。

这允许节点连接,但不能通过八卦协议传播,因此nodeA知道连接的隐藏节点nodeB,但nodeA在交换有关网络拓扑的信息时不会告诉nodeC有关nodeB的信息。 / p>