《Erlang/OTP并发编程实战》第八章 分布式 Erlang/OTP 简介

  1. 在 Erlang 中没有共享,只有消息传递,因此分布式还是单机本质上没有什么区别。
  2. Erlang 集群是一个全联通网络。
  3. 节点启动:
    1. erl -name xx
      适用于配有 DNS 的普通网络环境,需要给出节点的完全限定域名
    2. erl -sname xx
      适用于完全限定域名不可用的情况
  4. 采用短节点名和长节点名的节点所处的通信模式是不同的,它们之间无法形成集群。
  5. 隐形节点:
    借助一些特殊的节点,我们可以将多个集群合并成更大的、非全联通的集群。
    这类节点经过特殊配置,不会对外传播其他节点的信息,它们甚至可以对其他节点隐身,以便对集群进行非侵入式监控。
  6. 建立连接:
    net_adm:ping('haha@haha.com').

     

  7. EPMD(Erlang 端口映射守护进程):
    1. 启动每一个节点,EPMD 都会检查本地机器上是否运行着 EPMD,如果没有,节点就会自动启动 EPMD;
    2. EPMD 会追踪在本地机器上运行的每个节点,并记录分配给它们的端口号;
    3. 当一台机器上的 Erlang 节点试图与远程节点通信时, 本地的 EPMD 就会联络远程机器上的 EPMD(默认使用TCP/IP,端口号4369),询问在远程机器上有没有相应名字的节点。如果有,远程 EPMD 就会回复一个端口号,通过该端口便可直接与远程节点通信;
    4. EPMD 不会主动搜寻其他 EPMD,只有在某个节点主动搜寻其他节点时才能建立。
  8. 通信安全:
    Erlang 默认的分布式模型基于这样一个假设,集群中的所有节点都运行在一个受信网络内。
    如果这个假设不成立,或者其中的某些机器需要与外界通信,那么就应该直接在TCP(或 UDP、SCTP 等)之上配合恰当的应用层协议来实现非受信网络上的通信。此外还可以利用 SSL、SSH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值