IceGrid Node介绍
1. 负责IceBox的装载和启停;
2. 采集主机的负载信息;
3. 执行控制器IceGrid Admin的指令;
简单的说,IceGrid Node就好像一个容器,启动以后,会安装预先定义的配置文件,加载其中的IceBox,并根据要求启动或停止其中的一个或多个IceBox进程。同时定期采集底层主机的负载信息(CPU Load),这些信息用于基于主机负载的负载均衡算法调度,它同时把自己的控制端口注册到Registry中,IceGrid Admin控制器就可以对所有的IceGrid Node集中进行远程管理,下达指令。
Registry、IceGrid Node、IceBox之间的关系
每个IceGrid Node都有一个唯一的名字,配置文件如下:node1.cfg
1
2
3
4
5
6
7
8
9
10
11
|
#指定主注册节点的位置
Ice.Default.Locator=IceGrid
/Locator
:tcp -h localhost -p 4061
#设置节点1相关数据的存储目录
IceGrid.Node.Data=D:\Java\workspace\workspace-temp\test_iceBox_registry_iceGridNode\node\data
#指定节点1用于监听客户端连接的端口号
IceGrid.Node.Endpoints=tcp -p 5062
#指定节点1的名称
IceGrid.Node.Name=node1
Ice.StdErr=D:\Java\workspace\workspace-temp\test_iceBox_registry_iceGridNode\node\node.stderr.log
#指定错误日志文件
Ice.StdOut=D:\Java\workspace\workspace-temp\test_iceBox_registry_iceGridNode\node\node.stdout.log
|
启动:icegridnode --Ice.Config=src/node1.cfg
IceGrid介绍
其实就是一个Registry进程+N个IceGrid Node进程。为了方便管理和运维,又增加下面几个程序包。
1. icegridadmin:用来管理IceGrid的命令行工具,部署或升级IceGrid,查看Gnid节点状态,启停Node中的Server实例等。
2. IceGridGUI : 是一个 java swing application,作用等同于 icegridadmin , 不过他有图形界面,适合在windows下远程管理IceGrid。
3. icepatch:为一组命令行工具,分Server端与Client端,是替代rsyn或FTP的好工具,用来在网格中分发和同步IceGrid
应用中用户开发的Ice服务的二进制代码,方便运维过程中的服务版本升级和扩容等工作。
为了学习icegridadmin命令,我们分别启动Registry和Node:分别开三个命令名窗口
icegridregistry --Ice.Config=src/registry.cfg
icegridnode --Ice.Config=src/node1.cfg
icegridadmin -u test -p test --Ice.Default.Locator="IceG
rid/Locator:tcp -h localhost -p 4061"
进入就可以进行各种操作了,这里对这块就不进行详细介绍了,有兴趣的同学可以自己去研究。
参考
《ZeroC Ice 权威指南》3.4
资料
源码:链接:http://pan.baidu.com/s/1bol23FL 密码:2jf3