• 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可以密码保护服务。

  • 相关阅读:
    makefile 中 $@ $^ %< 使用
    makefile中的自动化变量$@,$%,$
    linux grep命令
    wc命令
    linux下echo命令
    winscp和putty提取固件教程
    WinSCP和PuTTY在刷openwrt固件的使用教程
    OPENWRT学习笔记入门篇
    第五章 并发性:互斥和同步
    getCurrentSession()和getOpenSession()的区别
  • 原文地址:https://www.cnblogs.com/yanwei-wang/p/4710000.html
Copyright © 2020-2023  润新知