- 服务器A,服务器B
- 服务器A上部署主Registry、node1
- 服务器B上部署从Registry
应用代码app部署到服务器A上
- 服务器A上的主Registry配置上添加Ice.ProgramName=Master,注释掉Ice.Admin.ServerId和Ice.Admin.InstanceName,将Ice.Default.Locator指向服务器B和本机
- 服务器B上的从Registry配置上添加Ice.ProgramName=Replica1、IceGrid.Registry.ReplicaName=Replica1,注释掉Ice.Admin.ServerId和Ice.Admin.InstanceName,将Ice.Default.Locator指向服务器A和本机
- 服务器A的node1上Ice.Default.Locator指服务器A和服务器B
- 在服务器A的应用代码app的grid上配置node1
- 客户端的Ice.Default.Locator指服务器A和服务器B,或Glaciter2的Ice.Default.Locator指服务器A和服务器B
- 启动顺序先启动服务器A的Registry、node
- 启动服务器B的Registry
- 服务器A上通过管理端添加application
- 启动客户端访问
- 服务器A,服务器B
- 服务器A上部署node1
- 服务器B上部署node2
应用代码app部署到服务器A和服务器B上
- node1的Registry指向服务器A
- node2的Registry指向服务器A
- 在服务器A的应用代码app的grid上配置node1和node2
- 启动顺序先启动服务器A的Registry、node
- 启动服务器B的node
- 服务器A上通过管理端添加application
- 启动客户端访问
- 服务器A,服务器B
- 服务器A上部署主Registry、Glacier2_1
- 服务器B上部署从Registry、Glacier2_2
- 生成证书时不指定server的ip,只指定域名
- 所有的部署Glacier2都使用一样的证书
- Glacier2_1的Ice.Default.Locator指服务器A和服务器B
- Glacier2_1的配置证书,所有的部署Glacier2都使用一样的证书
- Glacier2_2的Ice.Default.Locator指服务器A和服务器B
- Glacier2_2的配置证书,所有的部署Glacier2都使用一样的证书
- 客户端的Glacier2指服务器A和服务器B的Glacier2
配置多个Glacier2主要起到分流作用。
- 服务器A,服务器B
- 服务器A上部署Registry、node1,创建node_patch2/data、patch2/server、patch2/client
- 服务器B上部署node2,创建node_patch2/data、patch2/client
-
IceGrid的配置
<server-template id="IcePatch2ServerTemplate"> <parameter name="instance-name" default="${application}.IcePatch2"/> <parameter name="endpoints" default="default"/> <parameter name="directory"/> <server id="${instance-name}.server" exe="icepatch2server" application-distrib="false" activation="on-demand"> <adapter name="IcePatch2" endpoints="${endpoints}"> <object identity="${instance-name}/server" type="::IcePatch2::FileServer"/> </adapter> <properties> <property name="IcePatch2.InstanceName" value="${instance-name}"/> <property name="IcePatch2.Directory" value="${directory}"/> </properties> </server> </server-template> <server-template id="IcePatch2ClientTemplate"> <parameter name="instance-name" default="${application}.IcePatch2"/> <parameter name="directory"/> <parameter name="nodeName"/> <server id="${instance-name}.${nodeName}" exe="icepatch2client" application-distrib="false" activation="on-demand"> <option>-t</option> <properties> <property name="IcePatch2.InstanceName" value="${instance-name}"/> <property name="IcePatch2Client.Directory" value="${directory}"/> <property name="IcePatch2Client.ChunkSize" value="10" /> <property name="IcePatch2Client.Thorough" value="1" /> <property name="IcePatch2Client.Remove" value="1" /> <property name="IcePatch2Client.Proxy" value="${instance-name}/server:tcp -h 10.175.206.101 -p 8000"/> </properties> </server> </server-template> <distrib/> <node name="node1"> <server-instance template="IcePatch2ServerTemplate" directory="/home/Ice/patch2/server" endpoints="tcp -p 8000" /> <server-instance template="IcePatch2ClientTemplate" directory="/home/Ice/patch2/client" nodeName="patch2Client_1" /> </node> <node name="node2"> <server-instance template="IcePatch2ClientTemplate" directory="/home/Ice/patch2/client" nodeName="patch2Client_2" /> </node>
-
node1的配置
IceGrid.Node.Name=node1 Ice.Default.Locator=IceGrid/Locator:tcp -p 4061 IceGrid.Node.Data=/home/Ice/node_patch2/data Ice.StdErr=/home/Ice/node_patch2/node.stderr.log Ice.StdOut=/home/Ice/node_patch2/node.stdout.log IceGrid.Node.Endpoints=tcp -p 5061
-
node2的配置
IceGrid.Node.Name=node1 Ice.Default.Locator=IceGrid/Locator:tcp -h 10.175.206.101 -p 4061 IceGrid.Node.Data=/home/Ice/node_patch2/data Ice.StdErr=/home/Ice/node_patch2/node.stderr.log Ice.StdOut=/home/Ice/node_patch2/node.stdout.log IceGrid.Node.Endpoints=tcp -p 5061
- 先启动服务器A的Registry、node1
- 再启动服务器B的node2
- 将要部署的文件上传到服务器A的patch2/server里
- 通过icepatch2calc在patch2/server生成校验码
- 启动IcePatch2Server服务
- 再启动IcePatch2Client服务,当IcePatch2Client停止后应该就可以在patch2/client上看到相应的文件