TUXEDO配置参数详解2007-07-10 09:39:47大中小TUXEDO应用系统的配置3.1 TUXEDO应用系统的常见配置配置文件UBBCONFIG介绍一个TUXEDO应用系统的所有资源都在一个文本文件中进行定义,该文件称为UBBCONFIG,在配置完成后,UBBCONFIG被编译成一个二进制的文件TUXCONFIG.在TUXEDO系统启动时,从该文件中读取系统的配置信息。
UBBCONFIG文件类似WINDOWS下的*.INI文件。
它包括以下9大部分, 我们称之为节,RESOURCES,MACHIENS,GROUPS这三个节必须的,其他的节是可选的。
RESOURCES(必需): 与整个系统有关的配置信息MACHINES(必需): 一个TUXEDO应用系统可以跨越多台服务器,在该节中配置与每台服务器有关的信息GROUPS(必需): TUXEDO中的服务可被分为多个组,在该节中配置与组有关的信息SERVERS(可选): 与SERVER有关的信息在该节配置SERVICES(可选): 与SERVICES有关的信息在该节配置NETWORK(可选):与网络有关的信息在该节配置ROUTING(可选) :路由规则在该节配置NETGROUPS(可选):与网络分组有关的信息在该节配置名称解释:TUXEDO应用系统一个TUXEDO应用系统包括服务端,客户端,服务端安装在服务器上,客户端一般安装在PC 机上,从开发角度看,一个TUXEDO应用系统包括服务端程序,客户端程序,一个配置文件。
此外,一个TUXEDO应用系统可以部署在一台服务器上,也可以部署在多台服务器上。
SERVER:服务端程序用C或COBAL编写,每一个程序文件编译成一个相应可执行文件,该可执行文件在运行时称为SERVER,它实际上就是一个进程。
每个SERVER都有一个名字,也就是该进程的名字。
为与TUXEDO应用系统的服务端区分,我们在本书中,我们用SERVER表示该进程,用服务端表示TUXEDO应用系统的服务端。
SERVICE:在每个服务端程序中,主要是一个个的函数,在TUXEDO中称这些函数为SERVICE,一般也称之为服务。
在该SERVICE中实现业务逻辑,在客户端中调用这些SERVICE来实现各种操作,如在前面的例子simpapp中,服务端程序为simpserv.c,它编译成可执行文件simperv, simpserv就是一个SERVER,该SERVER包括SERVICE:TOUPPER。
下面我们给出一个配置文件的例子:*RESOURCESIPCKEY 123456MASTER simpleUID 0GID 0PERM 0666MAXACCESSERS 100DOMAINID simpappMODEL SHMLDBAL YSCANUNIT 10SANITYSCAN 12BLOCKTIME 6NOTIFY DIPINMAXCONV 10*MACHINES"MYSYS" LMID="simple"TUXCONFIG="d:\tuxdemo\pbdemo\tuxconfig"TUXDIR="d:\tuxedo65"APPDIR="d:\tuxdemo\pbdemo"TLOGDEVICE="d:\tuxdemo\pbdemo\TLOG"TLOGNAME="TLOG"TLOGSIZE=100MAXWSCLIENTS=5CMPLIMIT="MAXLONG,MAXLONG"NETLOAD=0SPINCOUNT=0MAXACLCACHE=100*GROUPS"GROUP1" LMID="simple" GRPNO=1OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=600+MaxCur=5+L ogDir=."TMSNAME="TMS_ORA8i"TMSCOUNT=2*SERVERSDEFAULT:CLOPT="-A""simpserv" SRVGRP="GROUP1" SRVID=1CLOPT="-A"RQADDR="simpserv"RQPERM=0660 REPLYQ=Y RPPERM=0660 MIN=5 MAX=5 CONV=NMAXGEN=1 GRACE=86400 RESTART=N"WSL" SRVGRP="GROUP1" SRVID=1116CLOPT="-A -- -n //MYSERVER:8888 -m 2 -M 5 -x 6"*SERVICES"TOUPPER"LOAD=50 PRIO=50BUFTYPE="ALL"TRANTIME=30AUTOTRAN=N*ROUTING各节之间的包含关系:从上到下,是一对多的关系,即:一个TUXEDO系统可以跨越多台服务器,一台服务器上可以有多个GROUP,但一个GROUP只能在一台服务器上,一个GROUP中可以有多个SERVER,一个SERVER中可以有多个SERVICE。
下面我们分别对每个节种具体的常见配置进行说明,NETWORK,NETGROUP,ROUTING三节及其他比较高级的配置我们在后面的内容中说明RESOURCES(必需):该节是必须的,在这里配置与整个TUXEDO应用系统有关的信息,主要包括:IPCKEY: TUXEDO使用它标识公告板及其他的IPC资源。
它不能与该服务器上其他的IPC资源的ID号冲突范围:32,769-262,142MASTER: 指定该TUXEDO应用系统的MASTER服务器,在该服务器上对整个TUXEDO系统进行管理配置,可以为该MASTER服务器指定一台备份服务器,当该MASTER服务器当机时,可从BACKUP服务器上进行管理。
在进行系统迁移时,也要指定BACKUP服务器。
DOMAINID:该TUXEDO应用系统的唯一标识UID, GID, PERM:这三个参数控制对系统IPC资源的存取权限UID: 可对该TUXEDO应用系统进行管理的TUXEDO系统管理员的用户ID,在UNIX下就是UNIX系统的用户ID,默认为执行TMLOADCF的用户的ID。
在NT下该设置没有用,要设为0。
GID: 在UNIX下为UID中所指定的用户所在的组ID,在NT下该设置没有用,要设为0 PERM: 指定对TUXEDO系统IPC资源的存取权限。
默认值为0666,即任何人都可以对该IPC 资源进行存取。
MAXACCESSERS,MAXSERVERS,MAXSERVICES:这三个参数控制该TUXEDO应用系统对IPC资源的使用情况。
MAXACCESSERS: 在本系统的一个节点(一台服务器)上,同时可以有多少个进程可以访问该TUXEDO系统的公告板,默认值为50,它包括本地客户端进程,SERVER进程,但不包括管理进程如:BBL,DBBL等MAXSERVERS: 在本系统中,总共可以有多少个SERVER存在,包括进行管理的SERVER, 如:BBL,TMS等。
默认值为50。
MAXSERVICES: 在本系统中,总共可以有多少个SEVICE存在, 默认值为100。
TUXEDO应用系统的部署方式:一个TUXEDO应用系统可能部署在一台服务器上或多台服务器上,也可能是部署在共用一块全局共享内存的几台服务器上,可在MODEL,OPTIONAS中配置该TUXEDO应用系统的部署模式。
MODLE:SHM: 单机或多台服务器但共用一个全局共享内存MP: 多台服务器但没有共用一个全局共享内存OPTION: LAN: 是多机(MP)部署模式MIGRATE: 可对该系统进行迁移TUXEDO的管理进程BBL定时对它所在的服务器上的TUXEDO系统进行检查,检查超时的事务,超时的客户端连接等。
SCANUNIT: 指定检查的最小时间单位,它单位为秒,必须是5的倍数。
默认值为10,即10 秒。
SANTIYSCAN: 每隔多少个SCANUNIT检查一次, SANITYSCAN*SCANUNIT不能大于300秒。
默认值为12,即120秒BLOCKTIME: 指定一个消息可以阻塞多长时间,如果过了SANITYSCAN*SCANUNIT秒该消息还没有发送出去,将超时出错。
SANITYSCAN*SCANUNIT不能大于32767秒。
默认值为6,即60秒。
同步调用的超时说明对同步调用TPCALL,指从TPCALL()开始调用,到SERVER端的返回结果到到该客户端并写到输入缓冲区这一段时间。
包括:客户端开始调用TPCALL()把数据通过网络发送到SERVER端SERVER端的处理时间SERVER端把处理结果通过网络返回给客户端客户端TPCALL()调用返回异步调用和会话方式的超时说明对异步调用和会话方式,当一个进程调用TPACALL(),TPCONNECT(),TPSEND()时,超时时间只包括如果接收队列满时,这些调用的等待时间,如在TPACALL()中,所调用的SERVICE的接收队列如果满了,那么TPACALL()可阻塞在那里,直到该队列不满,可以接收该TPACALL()发送的请求。
从TPACALL()开始阻塞到TPACALL()返回这段时间为它的超时时间。
对TPGETRPLY(),TPRECV()的超时时间是指如果要接收的队列为空时,它们应该阻塞在那里等待有消息到来的时间。
如:超时时间为60秒, 一点整调用TPGETRPLY()从接收的队列取消息,这时接收队列为空,如果到了一点零一分该接受队列还为空,那么TPGETRPLY()将超时出错。
LDBAL:要不要进行负载均衡,Y:要,N:不要,默认值为不要MAXCONV: 在一台服务器上最多可以有多少个会话同时存在。
范围:0-32768,默认值为10 NOTIFY : 设置消息的通知方式,有以下3种:默认为DIPINIGNORE: 该TUXEDO系统中的CLIENT不接收任何消息SIGNAL: 用SIGUSR1,SIGUSR2信号通知CLIENT有消息到来,如果在非UNIX平台上设置采用该方式,那么会被自动转化为DIPIN方式。
DIPIN: 当CLIENT调用ATMI函数时,顺便检查看是否有消息,如果有就发送给该CLIENT默认值为DIPIN*MACHINES(必需):该TUXEDO应用系统所包含的每台服务器都要在该节中进行配置LMID:在TUXEDO,要为该应用系统中的每台服务器指定一个逻辑服务器名。