IceGrid应用配置手册.docx
- 文档编号:22839099
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:32
- 大小:606.60KB
IceGrid应用配置手册.docx
《IceGrid应用配置手册.docx》由会员分享,可在线阅读,更多相关《IceGrid应用配置手册.docx(32页珍藏版)》请在冰豆网上搜索。
IceGrid应用配置手册
IceGrid应用
配置手册
V2.1
中诚信资讯科技有限公司
目录
1.概述3
1.1配置目标3
1.2实验环境3
1.3局限3
2.配置过程3
2.1服务器端配置3
2.1.1主注册服务配置5
2.1.2从注册服务配置7
2.1.3应用部署配置10
2.1.4节点配置13
2.2客户端配置14
3.结果验证14
3.1程序方式14
3.2工具方式14
4.高级应用配置20
4.1集成IceBox20
4.1.1IceBox服务程序编写20
4.1.2IceGrid集成IceBox服务21
4.1.3测试验证25
4.2集成IcePatch227
1.概述
1.1配置目标
本文档是描述Ice中间件中的IceGrid服务的应用配置,通过使用IceGrid服务来实现:
1.服务器端服务分布式部署。
2.服务器端服务按需激活。
3.服务器端服务多节点负载均衡。
4.注册服务主/从热备(Master/Slaves)
5.集成IceBox服务
1.2实验环境
1.硬件:
hp服务器,3台
2.操作环境:
RedHat5
3.服务器程序:
ServerApp.jar
4.说明:
实际应用中,服务器节点可任意扩充、操作系统可被更换、服务器程序可用实际项目的服务程序替换,本文档所描述的配置方式具有通用性,适用但不局限于当前实验环境。
1.3局限
本文档不详细描述IceGrid服务的运行机制和实现原理,不详细介绍服务器端和客户端程序的实现,主要描述IceGrid服务应用的配置步骤、主要配置项及验证配置结果等。
2.配置过程
2.1服务器端配置
配置步骤:
1.创建主注册服务(Master)的配置文件config_master.grid,文件名称可以任意
2.创建从注册服务(Slave)的配置文件config_slave.grid,文件名称可以任意
3.创建各节点服务的配置文件config.node,文件名称可以任意
4.创建分布式应用配置文件app.xml,文件名称可以任意,但格式最好定义成xml
5.运行Ice提供的工具,启动我们的分布式应用,主要有如下两个工具:
icegridnode和icegridadmin。
详细启动过程如下:
1)icegridnode--Ice.Config=config_master.grid启动主注册服务
2)icegridnode--Ice.Config=config_slave.grid启动从注册服务
3)icegridadmin--Ice.Config=config_master.grid-e"applicationaddapp.xml"部署分布式服务
icegridadmin--Ice.Config=config_master.grid-e"applicationupdateapp.xml"重新部署分布式服务
4)icegridnode--Ice.Config=config.node将各节点注册到注册服务的注册表中
配置文件清单:
假设有n个节点(n>0),其中从注册服务有x个,(x>0)
config_master.grid----------主注册服务配置文件---------1份
config_slave.grid-----------从注册服务配置文件---------x份
config.node-----------------节点配置文件--------------n份
app.xml----------------------部署配置文件--------------1份
通常情况下,由于注册服务占用资源很少,所以一般都会和一个节点集成在一起,并且可以和节点服务在一个进程中运行。
因此,如果假设服务部署到n个服务器,通常情况下配置文件清单如下:
config_master.grid--主注册服务配置文件--1份--主注册服务信息+节点信息
config_slave.grid---从注册服务配置文件--x份--从注册服务信息+节点信息
config.node---------节点配置文件----n-1-x份--节点信息
app.xml-------------部署配置文件--------1份--部署信息
其中app.xml要和config_master.grid放在一台服务器上,下面的各章节将详细介绍各配置文件。
2.1.1主注册服务配置
config_master.grid的内容:
#
#TheIceGridInstanceName
#
IceGrid.InstanceName=IceGridRDDataSource#1
#
#TheIceGridlocatorproxy.
#
Ice.Default.Locator=IceGridRDDataSource/Locator:
default-h10.0.5.201-p12000:
default-h10.0.5.202-p12000#2
#
#IceGridregistryconfiguration.
#
IceGrid.Registry.Client.Endpoints=default-p12000#3
IceGrid.Registry.Server.Endpoints=default#4
IceGrid.Registry.Internal.Endpoints=default#5
IceGrid.Registry.Data=master#6
IceGrid.Registry.PermissionsVerifier=IceGridRDDataSource/NullPermissionsVerifier#7
IceGrid.Registry.AdminPermissionsVerifier=IceGridRDDataSource/NullPermissionsVerifier#8
IceGrid.Registry.SSLPermissionsVerifier=IceGridRDDataSource/NullSSLPermissionsVerifier#9
IceGrid.Registry.AdminSSLPermissionsVerifier=IceGridRDDataSource/NullSSLPermissionsVerifier#10
#
#IceGridSQLconfigurationifusingSQLdatabase.
#
#Ice.Plugin.DB=IceGridSqlDB:
createSqlDB#11
#IceGrid.SQL.DatabaseType=QSQLITE#12
#IceGrid.SQL.DatabaseName=register/Registry.db#13
#
#
#IceErrorandStandardoutputSet
#
#Ice.StdErr=master/stderr.txt#14
#Ice.StdOut=master/stdout.txt#15
#
#TraceRegistryproperties
#
Ice.ProgramName=Master#16
IceGrid.Registry.Trace.Node=3#17
IceGrid.Registry.Trace.Replica=3#18
#
#IceGridnodeconfiguration.
#
IceGrid.Node.Name=node_1#19
IceGrid.Node.Endpoints=default#20
IceGrid.Node.Data=node_1#21
IceGrid.Node.CollocateRegistry=1#22
#IceGrid.Node.Output=node_1#23
#IceGrid.Node.RedirectErrToOut=1#24
#Traceproperties.
#
IceGrid.Node.Trace.Activator=1#25
#IceGrid.Node.Trace.Adapter=2#26
#IceGrid.Node.Trace.Server=3#27
#
#Dummyusernameandpasswordforicegridadmin.
#
IceGridAdmin.Username=mygrid#28
IceGridAdmin.Password=mygrid#29
配置项说明:
#1为这个应用实例指定一个唯一的标识
#2注册服务的端点信息(主注册服务和所有的从注册服务),节点注册时要用到
#3客户端访问注册服务器的端点信息
#4服务访问注册服务器的端点信息,通常是default
#5内部访问端点信息,通常是default,节点用这个端口和注册服务通信
#6注册服务的数据目录的路径
#7设定防火墙安全代理,从而控制客户端访问注册表时可用的权限
#8设定防火墙安全代理,从而控制注册表管理者可用的权限
#9设定SSL安全代理,从而设定客户端访问注册表时的SSL安全访问机制
#10设定SSL安全代理,从而设定注册表管理者的SSL安全访问机制
#11指定Ice对象序列化的机制,如果不设置,默认用Freeze机制
#12指定使用数据库的类型
#13指定使用数据库的名称
#14指定标准错误输出文件
#15指定标准输出文件
#16指定主注册服务的名称
#17指定主注册服务跟踪节点信息的级别(0~3),默认为0
#18指定主/从热备注册服务的跟踪级别(0~3),默认为0
#19定义节点的名称,必须唯一
#20节点被访问的端口信息,注册服务使用这个端点和节点通信,通常设为default
#21节点的数据目录的路径
#22定义节点是否和注册服务并置在一起,设为1时并置,设为0时不并置
#23节点标准输出信息重定向蹈的目录路径,会自动生成输出文件
#24节点上的服务程序的标准错误重定向到标准输出
#25激活器跟踪级别,通常有0,1,2,3级,默认是0
#26对象适配器跟踪级别,通常有0,1,2,3级,默认是0
#27服务跟踪级别,通常有0,1,2,3级,默认是0
#28IceGrid管理器登录该应用的用户名
#29IceGrid管理器登录该应用的密码
未涉及的属性还有一些,如果需要请参考官方文档。
2.1.2从注册服务配置
config_slave.grid的内容:
#
#TheIceGridlocatorproxy.
#
Ice.Default.Locator=IceGridRDDataSource/Locator:
default-h10.0.2.241-p12000:
default-h10.0.2.242-p12000#1
#
#IceGridregistryconfiguration.
#
IceGrid.Registry.Client.Endpoints=default-p12000#2
IceGrid.Registry.Server.Endpoints=default#3
IceGrid.Registry.Internal.Endpoints=default#4
IceGrid.Registry.Data=slave_1#5
IceGrid.Registry.ReplicaName=slave_1#6
IceGrid.Registry.PermissionsVerifier=IceGridRDDataSource/NullPermissionsVerifier#7
IceGrid.Registry.AdminPermissionsVerifier=IceGridRDDataSource/NullPermissionsVerifier#8
IceGrid.Registry.SSLPermissionsVerifier=IceGridRDDataSource/NullSSLPermissionsVerifier#9
IceGrid.Registry.AdminSSLPermissionsVerifier=IceGridRDDataSource/NullSSLPermissionsVerifier#10
#
#IceGridSQLconfigurationifusingSQLdatabase.
#
#Ice.Plugin.DB=IceGridSqlDB:
createSqlDB#11
#IceGrid.SQL.DatabaseType=QSQLITE#12
#IceGrid.SQL.DatabaseName=register/Registry.db#13
#
#
#IceErrorandStandardoutputSet
#
#Ice.StdErr=slave_1/stderr.txt#14
#Ice.StdOut=slave_1/stdout.txt#15
#
#TraceRegistryproperties
#
Ice.ProgramName=Slave_1#16
IceGrid.Registry.Trace.Node=3#17
IceGrid.Registry.Trace.Replica=3#18
#
#IceGridnodeconfiguration.
#
IceGrid.Node.Name=node_2#19
IceGrid.Node.Endpoints=default#20
IceGrid.Node.Data=node_2#21
IceGrid.Node.CollocateRegistry=1#22
#IceGrid.Node.Output=node_2#23
#IceGrid.Node.RedirectErrToOut=1#24
#Traceproperties.
#
IceGrid.Node.Trace.Activator=1#25
#IceGrid.Node.Trace.Adapter=2#26
#IceGrid.Node.Trace.Server=3#27
#
#Dummyusernameandpasswordforicegridadmin.
#
IceGridAdmin.Username=mygrid#28
IceGridAdmin.Password=mygrid#29
配置项说明:
其实这个文件和主注册配置文件基本一样,差别只有一点:
1.没有指定应用实例名,因为在主注册服务中已经有了定义
2.多了第6行,IceGrid.Registry.ReplicaName=slave_1,指定从注册服务的名称
其它的基本就没有差别了,大部分属性项在config_master.grid里面都有定义,为了方便阅读,下面也将用到的各项给出说明:
#1注册服务的端点信息(主注册服务和所有的从注册服务),节点注册时要用到
#2客户端访问注册服务器的端点信息
#3服务访问注册服务器的端点信息,通常是default
#4内部访问端点信息,通常是default,节点用这个端口和注册服务通信
#5注册服务的数据目录的路径
#6指定从注册服务的名称
#7设定防火墙安全代理,从而控制客户端访问注册表时可用的权限
#8设定防火墙安全代理,从而控制注册表管理者可用的权限
#9设定SSL安全代理,从而设定客户端访问注册表时的SSL安全访问机制
#10设定SSL安全代理,从而设定注册表管理者的SSL安全访问机制
#11指定Ice对象序列化的机制,如果不设置,默认用Freeze机制
#12指定使用数据库的类型
#13指定使用数据库的名称
#14指定标准错误输出文件
#15指定标准输出文件
#16指定从注册服务运行时程序名称
#17指定从注册服务跟踪节点信息的级别(0~3),默认为0
#18指定主/从热备注册服务的跟踪级别(0~3),默认为0
#19定义节点的名称,必须唯一
#20节点被访问的端口信息,注册服务使用这个端点和节点通信,通常设为default
#21节点的数据目录的路径
#22定义节点是否和注册服务并置在一起,设为1时并置,设为0时不并置
#23节点标准输出信息重定向蹈的目录路径,会自动生成输出文件
#24节点上的服务程序的标准错误重定向到标准输出
#25激活器跟踪级别,通常有0,1,2,3级,默认是0
#26对象适配器跟踪级别,通常有0,1,2,3级,默认是0
#27服务跟踪级别,通常有0,1,2,3级,默认是0
#28IceGrid管理器登录该应用的用户名
#29IceGrid管理器登录该应用的密码
2.1.3应用部署配置
app.xml配置文件内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 : RTDataSystem: : RTDataSource"/> 15 16 17 18 19 20 21 22 23 24 --server-instancetemplate="RTDSSystemServer"index="22"/--> 25 --server-instancetemplate="RTDSSystemServer"index="222"/--> 26 27 28 29 --server-instancetemplate="RTDSSystemServer"index="33"/--> 30 --server-instancetemplate="RTDSSystemServer"index="333"/--> 31 32 33 配置文件结构分析: IceGrid里,部署是一个在注册服务中表述一个应用(Application)的过程,而部署配置文件就是来描述这些配置信息的文件,这个配置文件是用xml标记性语言来描述的。 通常一个部署应该包含如下信息: 1.应用标签(application),name属性定义这个应用的名字 2.服务(server),一个逻辑上的服务器,能够通过exe命令而启动的一个服务程序。 activation属性,是设置服务的启动方式,on-demand是最常用的方式,另外还有always等启动方式;option标签是exe执行命令命令行的参数; 3.适配器(adpter),定义服务器端的适配器。 name属性唯一标志这个适配器; endpoints属性指定端点信息; replica-group属性标示该适配器是个可复制组集群,并指定这个可复制组的名称; register-process属性定义了是否这个节点是否可以被icegrid关闭; 4.节点(node),它应该代表了一个物理上的节点。 name属性指定节点的名字,并且是唯一的。 5.可复制组(replica-group),一组对象适配器的集合。 id属性唯一标识一个可复制组; load-balancing子项中type属性指定负载均衡策略,icegrid提供了四种负载均衡策略: Random(随机方式) Adaptive(适配方式) RoundRobin(最近最少使用) Ordered(顺序方式) object子项定义适配器绑定的服务对象信息。 其中identity属性指定对象的标识,type属性指定了对象的层次结构类型。 这两个属性都可以唯一的标识一个服务对象。 6.服务模板(server-temple),服务模板是对服务的一个抽象,避免了重复定义。 这样,在节点中描述服务时只需要实例化它的服务模板就可以了。 id属性唯一标识一个服务模板; parameter子项定义服务模板的参数,可包含多个,主要实例化服务时用; server子项就是上面2中的服务定义; 另外还有一些特殊的服务模板,比如: icebox服务模板,它的定义和通用的服务模板的定义不太一样。 解析app.xml文件: 通过对配置文件结构的分析,来解析一下app.xml。 第1行,标识这是一个icegrid的配置文件; 第2行,标识应用的名称为RTDSSystem,这个名称是唯一的; 第3~10行,定义了一个服务模板RTDSS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IceGrid 应用 配置 手册