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

它会返回本地节点的名称。如果节点不是分布式的则会返回[email protected]。

node(Arg) ->Node

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

is_alive() ->bool()

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

{RegName,Node} ! Msg

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

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

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

时间: 2024-11-08 15:18:07

erlang分布式编程模型的相关文章

Erlang 103 Erlang分布式编程.- 缺2~4

Outline 笔记系列 Erlang环境和顺序编程Erlang并发编程Erlang分布式编程YawsErlang/OTP 日期              变更说明 2014-11-23 A Outline   A 1.1-1.22014-12-08 A 1.3 Agenda 0范围 节点和通信 基本分布式编程模块 empd进程 套接字编程 1 Erlang节点和通信 1.1节点 一个Erlang节点是已命名的(named)的正在运行的Erlang运行时系统(erts). 多个节点可以运行在一台

MapReduce分布式编程模型

hdfs的副本的配置修改hdfs-site.xml文件<property><name>dfs.namenode.secondary.http-address</name><value>hd-02:50090</value></property>需要同步到其它机器:scp hdfs-site.xml hd-02:$PWDhadoop启动方式1)启动hdfs集群$ start-dfs.sh2)启动yarn集群$ start-yarn.sh

《erlang程序设计》学习笔记-第3章 分布式编程

http://blog.csdn.net/karl_max/article/details/3985382 1. erlang分布式编程的基本模型 (1) 分布式erlang:这种模型可以让我们在一个紧密耦合的计算机集群上编写程序. (2) 分布式erlang应用程序运行在一个可个这个进程的环境中.一个局域网的不同集群之间,但在同一个防火墙里面. (3) 基于套接字的分布式应用:使用TCP/IP套接字,我们可以编写运行在非信任环境中的分布式应用程序.2. 编写分布式程序的步骤: (1)先在一个非

Erlang 102 Erlang并发编程 - should be done in 2014-11-09

笔记系列 Erlang环境和顺序编程Erlang并发编程Erlang分布式编程YawsErlang/OTP 日期              变更说明2014-11-02 A outline,1 Agenda 0 范围 Erlang的现实世界建模方式 Erlang进程创建 Erlang进程设计模式 Erlang进程错误处理 1 Erlang Concurrency Modeling Philosophy Armstrong在[2]中跳出程序语言在处理并发应用场景时洋洋洒洒的急迫性.跃跃欲试的一站式

Erlang分布式在linux和windows上的注意事项

没事做,就在两台机器间测试下Erlang分布式的例子,一个台是windowsXP,一台装的redHat9,没有详细的文档,自己摸索着搞成功了,记录下. 1.首先,分布式Erlang的实现提供了自有的安全机制来预防未经授权的Erlang系统访问.Erlang系统与别的机器进行交互时必须有同样的magic cookie,保存在一个称为.erlang.cookie的文件中,为了在两台不同机器间测试,需要编辑一份.erlang.cookie,内容随便,比如:just_test 然后将这份文件拷贝到win

Erlang入门(三)——分布式编程

明天要回家一个星期了,好好休息下.今天找到别人翻译的Erlang编程手册,值的好好读一遍.    所谓分布式的Erlang应用是运行在一系列Erlang节点组成的网络之上.这样的系统的性质与单一节点上的Erlang系统并没有什么不同.分布式这是个“大词”,Erlang从语言原生角度支持分布式编程,相比于java简单不少.一.分布式机制下列的BIFs是用于分布式编程:spawn(Node, Mod, Func, Args)启动远程节点的一个进程 spawn_link(Node, Mod, Func

浅谈云巴实时通信的编程模型

浅谈云巴实时通信的编程模型 中国物联网 2016-09-28 09:38 概要 有人常问,云巴实时通信系统到底提供了一种怎样的服务,与其他提供推送或 IM 服务的厂商有何本质区别.其实,从技术角度分析,云巴与其它同类厂商都是面向开发者的通信服务,宏观的编程模型都是大同小异,真正差异则聚焦于产品定位,业务模式,基础技术水平等诸多细节上.本文暂不讨论具体产品形态上的差异,着重从技术角度浅谈实时通信的编程模型. 什么是实时通信 「实时」(realtime) 一词在语义层面上隐含着对时间的约束(real

【专家坐堂】四种并发编程模型简介

本文来自网易云社区 概述 并发往往和并行一起被提及,但是我们应该明确的是"并发"不等同于"并行" ?       并发 :同一时间 对待 多件事情 (逻辑层面) ?       并行 :同一时间 做(执行) 多件事情 (物理层面) 并发可以构造出一种问题解决方法,该方法能够被用于并行化,从而让原本只能串行处理的事务并行化,更好地发挥出当前多核CPU,分布式集群的能力. 但是,并发编程和人们正常的思维方式是不一样的,因此才有了各种编程模型的抽象来帮助我们更方便,更不容

Storm介绍及核心组件和编程模型

离线计算 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据.MapReduce批量计算数据.Hive批量计算数据.azkaban/oozie任务调度 流式计算 流式计算:数据实时产生.数据实时传输.数据实时计算.实时展示 代表技术:Flume实时获取数据.Kafka/metaq实时数据存储.Storm/JStorm实时数据计算.Redis实时结果缓存.持久化存储(mysql). 一句话总结:将源源不断产生的数据实时收集并实