• erlang分布式编程模型


    erlang分布式编程有两种模型

    一、分布式erlang

    运行在可信的网络环境中

    1、rpc提供的远程过程调用

    rpc:call(Node,Mode,Fun,Args) ->Result|{badrpc,Reason}

    2、global里的函数可以用来在分布式系统里注册名称和加锁,以及维护一个全连接网络

    spawn(Node,Fun) -> Pid

    spawn(Node,Mode,Fun,Args) ->Pid

    spawn_link(Node,Fun) -> Pid

    spawn_link(Node,Mode,Fun,Args) ->Pid

    disconnect_node(Node) ->bool()|ignored

    monitor_node(Node,Flag) ->true

    如果Flag是true就会开启监视,Flag是false就会关闭监视。如果开启了监视,那么当
    Node加入或离开Erlang互连节点组时,执行这个内置函数的进程就会收到{nodeup, Node}
    或{nodedown, Node}的消息。

    nodes() ->[Node]

    node() ->Node

    它会返回本地节点的名称。如果节点不是分布式的则会返回nonode@nohost。

    node(Arg) ->Node

    它会返回Arg所在的节点。Arg可以是PID、引用或者端口。如果本地节点不是分布式的,
    则会返回nonode@nohost。

    is_alive() ->bool()

    如果本地节点是活动的,并且可以成为分布式系统的一部分,就返回true,否则返回false。

    {RegName,Node} ! Msg

    send可以用来向一组分布式Erlang节点里的某个本地注册进程发送消息

    二、基于套接字的分布式模型

    通过创建两个代理进程,一个客户端,一个服务器端,将erlang的消息转换为tcp包数据,通过tcp协议收发消息,tcp可以密码保护服务。

  • 相关阅读:
    群辉:服务器错误错误代码38
    群晖官方功能使用教程
    CentOS 7设置KVM硬盘模式为SCSI
    CentOS 7下软阵列的创建
    什么是NAS
    CentOS 7下KVM支持虚拟化/嵌套虚拟化配置
    Linux/CentOS实现交换机-简单的交换机实现
    Ubuntu下实现软路由(转)
    CentOS下KVM配置NAT网络(网络地址转换模式)
    CentOS 7安装tunctl
  • 原文地址:https://www.cnblogs.com/yanwei-wang/p/4710000.html
Copyright © 2020-2023  润新知