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节点加入
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节点加入
相关文章推荐
- python线程池(threadpool)模块使用python2.7
- libevent for qt网络模块,直接替换qt的select模型,支持epoll,select,pool.使用非常简单,无需修改以前的代码结构
- python线程池(threadpool)模块使用笔记详解
- erlang中pg2模块使用
- python线程池(threadpool)模块使用
- erlang中pg2模块使用
- Erlang模块使用频度列表
- python线程池(threadpool)模块使用
- erlang中pg2模块使用
- python线程池(threadpool)模块使用
- python线程池(threadpool)模块使用笔记
- python线程池(threadpool)模块使用
- opencv中gpu模块的使用
- erlang lists模块函数使用大全
- pygame使用anaconda安装找不到font模块的问题
- 使用内核模块添加系统调用
- [转]在基于WinCE的产品上使用手机模块(by fllsoft)
- 如何查看Drupal网站使用的模块
- Net::OpenSSH 模块使用
- Apache限速模块mod_cband的配置及使用