icegrid部署

本文转载自http://blog.chinaunix.net/uid-52437-id-2108749.html


通过IceGrid的位置服务配置可以方便系统部署,具体优点不谈了,下面介绍下配置流程。

例子是ice/demo/IceGrid/simple。ice是采用3.2.1版本,测试时候可以自己下载。测试端,对Client.cpp简单做了修改。配置文件和修改后的Client.cpp 在conf.tar.gz内。用户可以下载,然后根据配置放在不同机器上。为了简化我用了一个表来说明,具体可参照测试部署表(1)
文件:conf.tar.gz
大小:1KB
下载:下载

测试系统说明:
一个位置服务器192.168.10.6
两个node
    node4: 192.168.10.4
    node6: 192.168.10.6

 Client.cpp 测试机器 192.168.10.13
 config.grid 位置服务机器 192.168.10.6
 config.node4 服务节点 192.168.10.4
config.node6 服务节点192.168.10.6
application.xml
 位置服务机器192.168.10.6
                                  部署表((1)
                   
1、配置位置服务

(1) 配置 config.grid
/************************************************************************/
IceGrid.InstanceName=DemoIceGrid

#
# The IceGrid locator proxy.
#
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.6 -p 12000

#
# IceGrid registry configuration.
#
IceGrid.Registry.Client.Endpoints=default -p 12000
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
IceGrid.Registry.Data=db/registry
IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.SSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
IceGrid.Registry.AdminSSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier

#
# IceGrid node configuration.
#
IceGrid.Node.Name=localhost
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node
IceGrid.Node.CollocateRegistry=1
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
#IceGrid.Node.Trace.Adapter=2
#IceGrid.Node.Trace.Server=3

#
# Dummy username and password for icegridadmin.
#
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar
/************************************************************************/

(2).配置应用

application.xml文件
/************************************************************************/
<icegrid>
  <application name="Simple">
    <node name="node4">
      <server id="SimpleServer" exe="./server" activation="on-demand">
    <adapter name="Hello" endpoints="tcp" register-process="true">
      <object identity="hello" type="::Demo::Hello" property="Identity"/>
    </adapter>
      </server>
    </node>

    <node name="node6">
      <server id="SimpleServer2" exe="./server" activation="on-demand">
    <adapter name="Hello" endpoints="tcp" register-process="true">
      <object identity="hello2" type="::Demo::Hello" property="Identity"/>
    </adapter>
      </server>
    </node>
  </application>
</icegrid>
/************************************************************************/
说明:该文件主要配置节点和具体服务.主要配置node name和server id(注意不要重复)即可。

2、配置节点信息:
node4节点
config.node4文件
/***********************************************************************/
#
# The IceGrid locator proxy.
#
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.6 -p 12000

#
# IceGrid registry configuration.
#
IceGrid.Registry.Client.Endpoints=default -p 12000
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
IceGrid.Registry.Data=db/registry
#IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
#IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
#IceGrid.Registry.SSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
#IceGrid.Registry.AdminSSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier

#
# IceGrid node configuration.
#
IceGrid.Node.Name=node4
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node
IceGrid.Node.CollocateRegistry=1
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
#IceGrid.Node.Trace.Adapter=2
#IceGrid.Node.Trace.Server=3

#
# Dummy username and password for icegridadmin.
#
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar
/***********************************************************************/
该文件和config.grid基本一致
注意,IceGrid.Registry注册信息一定要有而且和config.grid一致。注意和node6不一样,因为node6
和位置服务在一个机器上,注册信息已经在config.grid配置了。

node6
config.node6 文件
/***********************************************************************/
#
# The IceGrid locator proxy.
#
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.6 -p 12000

#
# IceGrid node configuration.
#
IceGrid.Node.Name=node6
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
#IceGrid.Node.Trace.Adapter=2
#IceGrid.Node.Trace.Server=3

#
# Dummy username and password for icegridadmin.
#
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar

/***********************************************************************/

3、启动运行
1)启动位置服务 
    icegridregistry --Ice.Config=config.grid
2)注册节点
    192.168.10.4机器:
         icegridnode --Ice.Config=config.node4  
    192.168.10.6机器:
     icegridnode --Ice.Config=config.node6
3)配置应用:
在 192.168.10.4机器上:
icegridadmin --Ice.Config=config.grid -e  "application add 'application.xml'"

4)测试
    ./client

    usage:
    t: send greeting
    p: send greeting2: shutdown server
    x: exit
    ?: help
选择t则调用 10.4机器;p则调用10.6机器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值