0

如果我有一个在服务器上完成的非常简单的服务,我将如何使该服务具有可扩展性,例如在多台服务器上运行?它在使用register(mod,func,[args])吗?

我在生成进程、创建节点和创建新服务器之间有点困惑。

您如何将客户端活动卸载到新服务器上以分散负载?

4

2 回答 2

3

生成进程可让您实现更大的粒度,从而有效地利用多核。它还使您有机会实现异步行为。

创建节点可让您将系统分布在许多主机上。节点可以互相看到并透明地通信。

如果服务器足够无状态,您只需创建几个服务器节点并负载平衡它们之间的流量。

如果服务器有一些繁重的计算,您可以使用几个服务器节点映射/减少它。

我不确定这个带有寄存器的代码片段是什么意思。通常您不会注册服务器端点,而是某种具有服务器节点、位置、负载知识的路由器。

“节点”和“进程”来自 Erlang 世界,但“服务器”是系统中的一个层。任何节点都可以设计为服务器,也可以生成客户端请求。进程在本地或远程节点上产生。进程可以执行/实现服务器或客户端逻辑。

于 2012-06-26T19:35:52.370 回答
1

跟随这本完整的 Erlang 在线免费书籍,你会发现一切。您可以直接跳转到多处理、分发和客户端/服务器系统

于 2012-06-27T05:43:59.480 回答