Tuxedo学习笔记-UBBCONFIG

一个Tuxedo应用系统的所有资源都在一个文本文件中进行定义,该文件称为UBBCONFIG。在配置完成之后,UBBCONFIG被编译成一个二进制的文件TUXCONFIG。在Tuxedo系统启动时,从该文件中读取系统的配置信息。UBBCONFIG文件类似于Windows下的*.ini文件。它包括以下8大部分,我们称之为节。

?*RESOURCES节(必须):与整个系统有关的配置信息
?*MACHINES节(必须):一个Tuxedo应用系统可能跨越多台服务器,在该节中配置与每台服务器有关的信息

?*GROUPS节(必须):Tuxedo中的服务可被分为多个组,在该节配置与组有关的信息
?*SERVERS节(可选):与Server有关的信息

?*SERVICES节(可选):与Services有关的信息
?*NETWORK节(可选):与网络有关的信息

?*ROUTING节(可选):配置路由规则
?*NETGROUPS节(可选):与网络分组有关的信息

一个Tuxedo应用系统=服务端程序+客户端程序+配置文件
Server:每一个服务端程序文件都被编译成一个相应的可执行文件,该文件在运行的时候称为Server,它实际上就是一个进程。

Services:在每个服务端程序中,主要是一个个函数,在Tuxedo中称这些函数为Services,一般也称之为服务。
一个系统可以跨越多台服务器,一台服务器可以有多个Group,但一个Group只能在一台服务器上,一个Group可以有多个Server,一个Server可以有多个Service

*RESOURCES节
常见参数意义

参数
意义

IPCKEY
共享内存id。Tuxedo用它标识公告板和其它IPC资源,范围32769~262142

MASTER
指出主控节点的逻辑名LMID,也可以为该MASTER机指定一台备份机

UID
TUXEDO管理员用户id,在UNIX下就是执行tnloadcf的用户ID,在Windows下没用,取0

GID
TUXEDO管理员用户所在的组id。在Windows下取0

PERM
指定对此IPC资源的存取权限。默认为0666,即任何人都可以对该IPC资源进行存取

DOMAINID
该TUXEDO应用系统的唯一标识

MAXACCESSERS
设定在本系统一个节点(一台服务器)上,可以有多少进程访问该系统的公告板,默认为50

MAXSERVERS
设定系统中最多有多少个Server存在,默认值50

MAXSERVICES
设定系统中最多有多少个Service存在,默认值100

MODEL
部署模式:SHM(单机或者多台服务器但公用一个全局共享内存)、MP(多台服务器但没使用一个全局共享内存)

OPTION
LAN(表使用MP部署模式),MIGRATE(表服务可以移植到替代处理器上)

SCANUNIT
内部时间间隔单位,单位是秒,默认值10秒

SANITYSCANTuxedo的管理进程BBL定时对它所在的服务器上的Tuxedo系统进行检查,检查超时的事务、超时的客户端连接等。SANITYSCAN指每隔多少个SCANUNIT检查一次,默认值12,即为12×SCANUNIT(默认10秒)=120秒

BLOCKTIME交易超时时间,单位是SCANUNIT,默认值6

MAXCONV
同时最大会话数,范围:0~32768,默认值10

NOTIFY
设置消息的通知方式。默认为DIPIN(当客户端调用ATMI函数时,顺便查看是否有消息,如果有就发送给Client)

范例:

*RESOURCES
IPCKEY80952 UID213 GID1 PERM0660MAXACCESSERS150 MAXSERVERS75 MAXSERVICES200 MASTERSITE1,SITE2 MODELMP OPTIONSLAN,MIGRATE SCANUNIT10 SANITYSCAN12 BLOCKTIME3 MAXCONV10 NOTIFYDIPIN
*MACHINES节

常见参数意义
参数
意义

LMID
物理处理器名,可以通过”uname –n”或节点名得到

TUXDIR
TUXEDO系统软件安装位置

APPDIR
应用服务位置全路径

TUXCONFIG
TUXEDO配置文件全路径

ENVFILE
环境文件全路径

TYPE
指定该服务器类型,当两台服务器类型不同时,在它们之间传送数据要进行编码/解码工作

ULOGPFX
指定应用日志文件所在的目录及前缀。


UID、GID、PERM、MAXACCESSERS、MAXCONV在这里可以被重新配置,以这里为准
*GROUPS节

一台机器至少要定义一个服务组。如果没有定义组,管理命令tmadmin可能依然能运行。
每个组只要定义组名,映射组名的组号和逻辑机器名。组为分布式交易系统和数据依赖路由等灵活性措施提供了支持。

常见参数意义
参数
意义

组名
组的唯一标识符,可以是字母数字
GRPNO
组的唯一数字标识符
LMID
逻辑机器名


范例
*GROUPS
BANKB1GRPNO=200LMID=SITE1
BANKB2GRPNO=220LMID=SITE1
SYSGRPGRPNO=110LMID=SITE1
EVTGRP1GRPNO=120LMID=SITE1
*SERVERS节
常见参数意义

参数
意义

SRVGRP
服务属于一个在*GROUPS节中定义的服务组名

SRVID
该Server所对应的ID。在组中应该唯一

MIN
最少启动的进程数

MAX
最多启动的进程数

RESTART
如果设成Y,则服务可以重启动

GRAC,MAXGEN
在GRACE定义时间之内,服务可以重启动MAXGEN次

RCMD
每次服务重启动要执行的一个可执行文件名

CLOPT跟随服务启动的其他参数
-A服务内建交易全发布
–r指定服务记录时间戳,用于以后计算交易处理时间
-e定义标准错误重定向文件
-o定义标准输出重定向文件
--TUXEDO参数和服务特定参数的分隔符
…传给tpsvrinit()的参数
在默认情况下,Tuxedo的每一个Server对应一个请求队列,也可以多个Server对应一个请求队列,即MSSQ方式,以提高响应的速度。方法是设置以下参数。

RQADDR:当设定此项后,所有本服务的实例都使用相同的请求队列。这是在应用中设置MSSQ(Multiple Server Single Queue)的方便办法,可以改善处理流量。任何时候,所有MSSQ集中的实例发布相同的交易集。
XFER:另一个服务

REPLYQ:设成Y,则服务又作为一个MSSQ集配置,任何其中的交易调用其他交易,就建立一个单独的回应队列。
范例

*SERVERS
DEFAULT:RESTART=YMAXGEN=5GRACE=3600
RCMD=”/sur/apps/atmapp/scripts/beeper”
CLOPT=”-A”ENVFILE=”/usr/apps/atmapp/envfile”
TLRSRVGRP=BANKB1SRVID=10MIN=1MAX=2
CLOPT=”-A –r
-e /usr/apps/atmapp/logs/TLR1.err
-o /usr/apps/atmapp/logs/TLR1.out
--
-T 101 –e 300 –d dbfile”
SYSTEM_ACCESS=PROTECTED
RQADDR=”TLR_Q1”
XFERSRVGRP=BANKB1SRVID=20MIN=1MAX=2
RQADDR=”XFER_Q1”REPLYQ=Y
CLOPT=”-A –r”
*SERVICES节
常见参数意义

参数
意义

BUFTYPE
任何向该交易的请求,数据应该是此处定义类型

SRVGRP
交易所在服务所在的组

LOAD
负载因子,表示处理请求的时间,用于计算负载平衡,默认为50

PRIO
优先级,默认为50

范例

*SERVICES
DEPOSITBUFTYPE=”FML”
SRVGRP=BANKB1
LOAD=25PRIO=70
配置文件的编译(生成TUXCONFIG文件)
UBBCONFIG文件是一个可以编辑成需要的应用配置的文本文件。但是,/T在实际应用上读取的是二进制TUXCONFIG文件用于操作。命令tmloadcf可以把UBBCONFIG文件转化成TUXCONFIG文件。

Tmloadcf-y UBBCONFIG文件名
tmloadcf命令接受以下4个参数:

-c计算运行应用需要的IPC资源,该信息将提供给管理员,用于在各机器上配置资源。
-n进行语法检查并不生成TUXCONFIG。

-b控制TUXCONFIG占用的物理页数。
-y无条件覆盖TUXCONFIG,对全部问题都选“yes”

反编译命令tmunloadcf将TUXCONFIG转换成ASCII格式用于检查。该工具读取环境变量TUXCONFIG指向的文件。输出包含所有的参数,包括TUXEDO设定的缺省值,是UBBCONFIG文件的一个超集。
Tmunloadcf>myubb


【Tuxedo学习笔记-UBBCONFIG】http://blog.csdn.net/xfanghua/archive/2005/04/21/357171.aspx

    推荐阅读