标签:ice
部署环境:使用4台服务器来部署grid应用,必须把4台服务器的防火墙都关闭
Register主服务:192.168.10.11, Register从服务:192.168.11.12,
Node1:192.168.10.13
Node2:192.168.10.14
客户端:192.168.11.44
注:以下是windows下部署方案,linux部署类同,配置文件可以复用。
192.168.10.11部署步骤:
1. 创建ICE运行环境。
具体动作:复制ICE的bin目录到150的任何位置,该目录约400MB,例如:D:\ZeroC\Ice-3.5.1\bin
2. 创建ICE配置文件目录
具体动作:创建一个目录来存放配置文件。例如:D:\MyIceGrid
3. 配置Register主服务
具体动作:创建config.register文件,填写以下内容。
#实例名称,不能重复
IceGrid.InstanceName=DemoIceGrid
Ice.Default.Locator=DemoIceGrid/Locator:default -p 4061
# IceGrid registry configuration.
# 访问授权相关,默认就行
IceGrid.Registry.Client.Endpoints=default -p 4061
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
#定位服务的持续化存储,如果不存在要手工创建
IceGrid.Registry.Data=db/registry
#标识为主服务
IceGrid.Registry.ReplicaName=Master
# 访问授权相关,默认就行
IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.SSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
IceGrid.Registry.AdminSSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
#配置管理授权的帐号和密码
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar
4. 运行Register主服务。
具体动作:D:\ZeroC\Ice-3.5.1\bin\icegridregistry --Ice.Config=config.register
5. 配置应用信息。
具体动作:复制一份application.xml文件,修改名称为application_with_replication.xml,内容更新成以下内容。
<icegrid>
<application name="Simple">
<server-template id="SimpleServer">
<parameter name="index"/>
<server id="SimpleServer-${index}" exe="./server.exe" activation="on-demand">
<adapter name="Hello" endpoints="tcp" replica-group="ReplicatedHelloAdapter"/>
<property name="Identity" value="hello"/>
<property name="IceMX.Metrics.Debug.GroupBy" value="id"/>
<property name="IceMX.Metrics.Debug.Disabled" value="1"/>
<property name="IceMX.Metrics.ByParent.GroupBy" value="parent"/>
<property name="IceMX.Metrics.ByParent.Disabled" value="1"/>
</server>
</server-template>
<replica-group id="ReplicatedHelloAdapter">
<load-balancing type="round-robin"/>
<object identity="hello" type="::Demo::Hello"/>
</replica-group>
<node name="node1">
<server-instance template="SimpleServer" index="1"/>
<server-instance template="SimpleServer" index="2"/>
<server-instance template="SimpleServer" index="3"/>
</node>
<node name="node2">
<server-instance template="SimpleServer" index="4"/>
<server-instance template="SimpleServer" index="5"/>
<server-instance template="SimpleServer" index="6"/>
</node>
</application>
</icegrid>
6. 运行管理命令。
具体动作:
D:\ZeroC\Ice-3.5.1\bin\icegridadmin --Ice.Config=config.register -e "application add ‘application_with_replication.xml‘ "
如果已经存在,则运行更新命令
D:\ZeroC\Ice-3.5.1\bin\icegridadmin --Ice.Config=config.register -e "application update ‘application_with_replication.xml‘ "
7. 用工具测试效果
具体动作:打开bin\IceGridGUI.jar
创建直接连接,输入IP,端口,管理的帐号和密码。不报错就表示成功
192.168.10.12部署步骤:
1. 创建ICE运行环境。
具体动作:复制ICE的bin目录到150的任何位置,该目录约400MB,例如:D:\ZeroC\Ice-3.5.1\bin
2. 创建ICE配置文件目录
具体动作:创建一个目录来存放配置文件。例如:D:\MyIceGrid
3. 配置Register从服务
具体动作:创建config.register2文件,填写以下内容。
IceGrid.InstanceName=DemoIceGrid
#
# The IceGrid locator proxy.
#
#定位主服务的地址,必须配置
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.11 -p 4061
#
# IceGrid registry configuration.
#
#当前定位服务的地址,必须配置
IceGrid.Registry.Client.Endpoints=default -h 192.168.10.12 -p 4061
#IceGrid.Registry.Client.Endpoints=default
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
IceGrid.Registry.Data=db/registry
#标识为从服务,名称不为master就行
IceGrid.Registry.ReplicaName=slave1
IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.SSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
IceGrid.Registry.AdminSSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
4. 运行Register从服务。
具体动作:D:\ZeroC\Ice-3.5.1\bin\icegridregistry --Ice.Config=config.register2
5. 用工具测试效果
具体动作:打开bin\IceGridGUI.jar
创建直接连接,输入IP,端口,管理的帐号和密码。不报错就表示成功
192.168.10.13部署步骤:
1. 创建ICE运行环境。
具体动作:复制ICE的bin目录到150的任何位置,该目录约400MB,例如:D:\ZeroC\Ice-3.5.1\bin
2. 创建ICE配置文件目录
具体动作:创建一个目录来存放配置文件。例如:D:\MyIceGrid
3. 配置Node1服务
具体动作:创建config.node1文件,填写以下内容。
#配置定位器的地址为 定位主服务的地址和从服务的地址,由node节点主动向定位服务进行注册
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.11 -p 4061:default -h 192.168.10.12 -p 4061
#
# IceGrid registry configuration.
#
#
# IceGrid node configuration.
#结点配置信息
IceGrid.Node.Name=node1
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1
#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
4. 运行Node1服务
具体动作:D:\ZeroC\Ice-3.5.1\bin\icegridnode --Ice.Config=config.node1
192.168.10.14部署步骤:
1. 创建ICE运行环境。
具体动作:复制ICE的bin目录到150的任何位置,该目录约400MB,例如:D:\ZeroC\Ice-3.5.1\bin
2. 创建ICE配置文件目录
具体动作:创建一个目录来存放配置文件。例如:D:\MyIceGrid
3. 配置Node1服务
具体动作:创建config.node2文件,填写以下内容。
#配置定位器的地址为 定位主服务的地址和从服务的地址,由node节点主动向定位服务进行注册
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.11 -p 4061:default -h 192.168.10.12 -p 4061
#
# IceGrid registry configuration.
#
#
# IceGrid node configuration.
#结点配置信息
IceGrid.Node.Name=node2
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node2
#IceGrid.Node.Output=db/node2
#IceGrid.Node.RedirectErrToOut=1
#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
4. 运行Node2服务
具体动作:D:\ZeroC\Ice-3.5.1\bin\icegridnode --Ice.Config=config.node2
客户端配置:
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.11 -p 4061:default -h 192.168.10.12 -p 4061
测试过程:
1. 把定位主服务关闭, 客户端连接正常,信息显示正确。
2. 把定位从服务关闭,客户端连接正常,信息显示正确。
3. 把node1关闭,客户端连接正常,信息显示正确。
4. 把node2关闭,客户端连接正常,信息显示正确。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:ice
原文地址:http://blog.csdn.net/dandan2zhuzhu/article/details/48027027