跳转到内容

Erlang 编程/分布式

来自维基教科书,开放世界中的开放书籍

分布式处理

[编辑 | 编辑源代码]

理论上,在 Erlang 中,为多台计算机编写并行程序与为单台计算机编写程序并没有太大区别。每个处理器上的每个进程都有一个唯一的 ID/名称。进程可以轻松生成。消息可以轻松发送和接收。每台计算机上的每个主目录都将有一个特殊的 Erlang Cookie 密码文件,允许访问该机器上的 Erlang 进程。

人们在 Erlang 中编写分布式程序时遇到的主要问题是与防火墙和路由器相关的通用网络可达性问题。您可以通过网络在两个或多个分布式节点之间进行通信。如果要从节点 A 与节点 B 通信,则可以将消息发送到节点 B,就像它是本地进程一样。您必须指定节点名称才能进行通信,例如:{pid,Nodename}!'hello node A'。其中 pid 是节点 B 上进程的进程标识符。为了更通用,您应该注册进程的名称。例如:register(pro,self())。现在您可以使用 pro 代替 self()。

华夏公益教科书