如果我有一个非常简单的服务,这是在服务器上完成的,我如何使这个服务可扩展,如在多个服务器上运行?是使用register(mod,func,[args])
吗?
在产生进程,创建节点和创建新服务器之间,我感到有些困惑。
如何将客户端活动卸载到新服务器上以分散负载?
答案 0 :(得分:3)
产生过程可以让您实现更高的粒度,从而有效利用多核。它还为您提供了实现异步行为的机会。
创建节点允许您通过多个主机分发系统。节点可以看到彼此并透明地进行通信。
如果服务器足够无状态,您可以创建几个服务器节点并在它们之间实现负载均衡流量。
如果服务器有一些繁重的计算,你可以使用几个服务器节点映射/减少它。
我不确定这个带注册的代码片段是什么意思。通常你不注册服务器端点,而是某种具有服务器节点,位置,负载知识的路由器。
'Node'和'process'来自Erlang世界,但'server'是系统中的一个层。任何节点都可以设计为服务器,也可以生成客户端请求。进程在本地或远程节点上生成。进程可以执行/实现服务器或客户端逻辑。
答案 1 :(得分:1)
按照这个完整的Erlang online free book,你会发现一切。您可以直接跳转到多处理,分发和客户端/服务器系统