您的位置:首页 > 其它

erlang模块使用一:pool模块的使用

2010-08-09 09:03 204 查看
erlang的pool模块是用来进行简单的分布式负载均衡管理的模块,它通过一个中心server对一群附属slave节点进行管理:

1. slave节点会定期向中心server发送当前负载消息

2. 可以向中心server发送消息查询最低负载的节点

配置和使用pool模块:

1. 建立rsh无密码信任

由于pool其实是通过rsh完成的server对slave的启动控制管理的,所以必须打通server到slave的无密码信任,具体办法可以使用搜索引擎获取,简单步骤如下:

1. 修改/etc/xinet.d目录下的rsh,rlogin,rexec文件,将disable=yes,改为no
2. 修改/etc/host.equiv文件,加入slave信任的server的hostname,将文件权限修改为644
3. 重启服务:/etc/init.d/xinetd restart
4. 因为rlogin,不会执行用户目录下的.bash_profile文件,需要通过.bash_rc配置rsh、erlang等的PATH路径,类似PATH=/usr/local/bin/:/usr/bin/:/usr/kerberos/sbin:$PATH:$HOME/bin
2. 在server端建立.hosts.erlang文件

输入需要被加入的slave的host,格式如下:
“hostname1”
“hostname2”
(空行)
3. erl -name XXX 启动erlang的shell,调用pool:start(xxx)启动pool模块提供的简单节点管理服务

4. erlang的pool模块其实核心代码功能都是由erlang的slave模块完成的,所以掌握slave的模块可以方便对pool模块进行理解,比如在pool模块中动态加入slave节点:

1. pool模块并没有直接这样的函数,但是只需要简单看一下pool模块实现的源代码就可以很容易知道怎么去做
2. 通过slave:start函数启动一个可被加入的slave节点
3. 通过pool:attach函数完成slave节点加入
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: