erlang分布式例子
抄袭自
http://www.blogjava.net/killme2008/archive/2007/06/29/127099.html
简单的说,就是
主机上需要同时启用短节点名,或者长节点名
保证集群内部cookie一致
使用cookie文件复制的方式或者命令行-setcookie参数都可以
如果使用短节点名,则需在/etc/hosts内添加所有主机的ip-主机名映射
调用方式,有两种
通过Pid调用
-module(test). -compile(export_all). start(Node) ->
spawn(Node,test, loop, [0]). debugger(Pid) ->
Pid ! start_debugger. db(Pid) ->
Pid ! start_mnesia. loop(Val) ->
receive
start_debugger ->
debugger:start(),
loop(Val);
start_mnesia ->
application:start(mnesia),
loop(Val)
end.
注意:
如果Pid没有注册为global的name,则只能通过spawn或者spawn_link创建跨node进程 gen_server之类,可以通过start_link,在创建的时候,直接创建global的name,以后调用直接通过gen_server:call调用 另外,这个代码需要在远程节点上也编译,否则远程pid调用的时候,会崩溃
rpc:call
参数为远程node名,不需要pid
监控:net_kernel:monitor_nodes(true)
在集中中任何节点down和up的时候,会收到nodedown和up的消息,处理即可
什么时候使用什么方式,看场景了
注:
关于自动连接监控网络节点的功能,可以关注这个模块
net_kernel
erlang分布式例子的更多相关文章
- Erlang分布式在linux和windows上的注意事项
没事做,就在两台机器间测试下Erlang分布式的例子,一个台是windowsXP,一台装的redHat9,没有详细的文档,自己摸索着搞成功了,记录下. 1.首先,分布式Erlang的实现提供了自有的安 ...
- Erlang 103 Erlang分布式编程
Outline 笔记系列 Erlang环境和顺序编程Erlang并发编程Erlang分布式编程YawsErlang/OTP 日期 变更说明 2014-11-23 A Outl ...
- erlang分布式编程模型
erlang分布式编程有两种模型 一.分布式erlang 运行在可信的网络环境中 1.rpc提供的远程过程调用 rpc:call(Node,Mode,Fun,Args) ->Result|{ba ...
- erlang分布式入门(一)-ping pong
erlang分布式入门(一)-ping pong 测试环境和http://willvvv.iteye.com/blog/1523918 一样,192.168.0.182(centos-182)和192 ...
- erlang 分布式数据库Mnesia 实现及应用
先推荐一篇:mnesia源码分析(yufeng) - linear hash ETS/DETS/mnesia 都使用了linear hash算法 http://en.wikipedia.org ...
- 《erlang程序设计》学习笔记-第3章 分布式编程
http://blog.csdn.net/karl_max/article/details/3985382 1. erlang分布式编程的基本模型 (1) 分布式erlang:这种模型可以让我们在一个 ...
- Erlang Concurrent 并发进阶
写在前面的话 本文来源于官方教程 Erlang -- Concurrent Programming.虽然没有逻辑上的关系,但建议在掌握了Erlang入门系列教程的一些前置知识后继续阅读. 之前我是逐小 ...
- Erlang基础知识集锦
http://wenku.baidu.com/link?url=or-8mkUYUM0uVeqCYESGe93YIlh2IDLP7lFOwRlwr8Syf3PeHbwJC5DPCErs4NFrb1p4 ...
- Erlang模块erl翻译
命令: erl 概述: Erlang模拟器 描述: erl程序启动一个Erlang运行时系统.准确的信息是依赖于系统的(举例,erl是否是脚本或程序,其它程序调用). ...
随机推荐
- Bellman-Ford算法 - 有向图单源最短路径
2017-07-27 08:58:08 writer:pprp 参考书目:张新华的<算法竞赛宝典> Bellman-Ford算法是求有向图单源最短路径的,dijkstra算法的条件是图中 ...
- 编写第一个springboot应用
1.1.1. 设置spring boot的parent <parent> <groupId>org.springframework.boot</groupId> ...
- D3.js学习笔记(二)——使用绑定在DOM上的数据
简单例子 在这个例子中,你将会使用D3.js来将数据绑定到DOM元素上.然后再使用D3.js利用绑定到DOM元素上的数据来更新网页. 在上一章中,我们以下面这个页面作为开始的: <!DOCTYP ...
- DatePicker日期与时间控件
DatePicker日期与时间控件 一.简介 二.方法 最日常的使用方法了 日期控件DatePicker 时间控件TimePicker 月份从0开始 三.代码实例 效果图: 代码: fry.Activ ...
- Openstack Mitaka 负载均衡 LoadBalancerv2
最近研究了一下Openstack负载均衡,yum源和源码级别的安装都尝试成功了.网上有很多文章都是LoadBalancerv1,这个已经被放弃了.所以写一下自己是如何使用LoadBalancerv ...
- java mybatis XML文件中大于号小于号转义(转载)
因为这个是xml文件不允许出现类似“>”这样的字符 用了转义字符把>和<替换掉,然后就没有问题了. XML转义字符 字段 符号 说明 < ; < 小于号 & ...
- 【python】numpy pandas 特性(随时更新)
[value map] 用df.replace(dict)可以解决.但是如果dict太大,会非常非常慢. [array相加的维度规律][广播] (2,3) 能和 (3,) 相加,不能和(2,)相加 ( ...
- vsftp中的local_umask和anon_umask
umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限umask = 022 时,新建的目录 权限是755,文件的权限是 644umask = 077 时,新建的目录 权限 ...
- Android UID and PID
Android UID and PID 我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互 (startActivityForResult ...
- SQL中合并两个表的JOIN语句
SQL里有四种JOIN语句用于根据某条件合并两个表: (INNER) JOIN: 交集 LEFT (OUTER) JOIN: 左表数据全包括,右表对应的如果没有就是NULL RIGHT (OUTER) ...