`

tuxedo11g MP 模式配置

阅读更多

     随着一些项目对实时交易处理量和响应时间的要求较高,最近两月接触了交易中间件的安装配置。上一会写了CICS的相关内容,这次整理一下 oracle tuxedo的内容。tuxedo 11g在系统架构和基础配置文件上和之前的版本没什么区别。下文内容为整理而得,较中文网络其它的文章,多了多域间网关对的配置,这一点在MP模式下还是 较为有用的。

 

Tuxedo架构图

说明:域(DOMAIN)

域是具有相同功能或结构的应用系统的集合。应用系统可以有多台服务器组成。Tuxedo的域特性把客户/服务器模型扩展到多个独立自治的应用系统。 一个域既可以是一组Tuxedo的应用程序,也可以是一组运行在另一个非Tuxedo环境中的应用程序。Tuxedo的每个域独立完成域内的操作,域间操 作由域网关完成。

比较重要的进程为

1、BBL(Bulletin Board Liaison),主要对公告板等进行管理,包含了一个公告牌的本地拷贝和本地服务器上应用的状态。

Bulletin Board(BB,公告板):Tuxedo把系统的配置信息保存在一个共享内存中,该共享内存称为公告板。

2、DBBL(Distinguished Bulletin Board Liaison),TUXEDO用于多服务器配置各个服务器之间的协调工作,只有当TUXEDO配置为MP方式时才需要用到DBBL 。DBBL与BBL协同,保证所有的公告牌内容的一致性。

3、WSL:WorkStation Listener,Tuxedo系统自带的一个Server,它侦听一个指定的端口,WSC最初与该Server建立连接。

4、WSH:WorkStation Handler Server ,Tuxedo系统自带的一个Server,由它处理WSC与Tuxedo Server之间的通信。

5、BRIDGE,不同的服务器之间通过BRIDGE进程进行通讯,该BRIDGE的侦听IP地址及端口 在NADDR中指定。如果是在UNIX下要指定该BRIDGE所用的网络设备,如果是在NT下则不要。

6、DMADM,域间通信的进程:管理域的server,在运行时管理BDMCONFIG,对已登记的gateway group提供支持,在tuxedo系统中,只能有一个DMADM进程,且不能对它采用MSSQ,不能有REPLYQ

7、GWADM,管理DOMAIN的域网关进程(在/DOMAIN中是GWTDOMAIN)的SERVER,在运行时可以对某一组域网关 (Domain Gateway Group)进行管理。主要从DMADM那里取得域的配置信息,并对域网管进程及跨越域的全局事务的LOG文件进行管理

8、GWTDOMAIN,处理DOMAIN之间的互操作,使本地域和调用远程域可以互相调用彼此的service,其中GMADM和GWTDOMAIN必须 在一个组中,一个tuxedo应用可以有多个 GWADM,GWTDOMAIN对,一个组只能 有一个GMADM,GWTDOMAIN对,但一个tuxedo应用只能有 一个DMADM, DMADM可以在任何一个组中,一个本地域可以和多个 远程域实现互操作。

9、tlisten,是TUXEDO自带的管理程序,在MP模式下,完成主机之间的初始化通讯,如非MASTER机从MASTER机中下载tuxconfig配置文件。

tlisten的启动办法:tlisten –l //NLSADDR

以上几点概念清楚后,就可以尝试配置一个简单的tuxedo环境了。

 

官方的小写变大写例子

Example:
#       APPDIR="/usr/tuxedo/simpapp"
#       TUXCONFIG="/usr/tuxedo/simpapp/tuxconfig"
#       TUXDIR="/usr/tuxedo"

<machine name> LMID=simple #machine name需要修改为自己的主机名
#Example:
#beatux     LMID=simple
*GROUPS
GROUP1
    LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
        CLOPT="-A"
simpserv    SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER


配置文件的各个部分

1、RESOURCES:设置域范围参数(必须)

RESOURCES小节是一个必须存在的小节,并且必须是配置文件中的第一个小节。本节包括如下信息:

• 共享内存的地址(IPCKEY)

• 启动和关闭服务程序的管理点(MASTER)

• 访问应用的用户控制(UID、GID和PERM)

• 本应用的安全级别(SECURITY、AUTHSVC)

• 应用中各进程的IPC限制,服务器进程的数量,以及提供的服务数(MAXACCESSERS、MAXSERVERS、MAXSERVICES)

• 应用结构(MODEL),表明是单机器应用还是多机器应用

• 是否使用服务器负载均衡(LDBAL)

• 缓冲区类型和子类型的最大数目(MAXBUFTYPE、MAXBUFSTYPE)

• 公告牌健全扫描(sanity scans)的时间间隔(SCANUNIT、SANITYSCAN)

• 服务请求的超时值(BLOCKTIME)

• 并发会话最大数目(MAXCONV)

• 主动通知方法(NOTIFY、USIGNAL)

2、MACHINES:配置机器(必须)

应用中的每个机器必须在配置文件的MACHINES小节中有一个入口项,并且该小节必须是配置文件的第二个小节。MACHINES小节中包含应用中每个机器的如下信息:

• 机器地址到逻辑标识(LMID)的映射

• 配置文件的位置(TUXCONFIG)

• BEA TUXEDO软件的安装位置(TUXDIR)

• 应用服务器的位置(APPDIR)

• 应用日志文件的位置(ULOGPFX)

• 环境文件的位置(ENVFILE)

MACHINES小节中必需的几个参数是LMID、TUXCONFIG、TUXDIR和APPDIR

3、GROUPS:配置组信息(必须)

通过GROUPS小节可以指定从逻辑上分组的服务器集,这些服务器组以后可被用来访问资源管理器(resource managers),并且便于服务器组迁移。配置文件的GROUPS小节包含对服务器组的定义。你必须为有应用服务器运行其上的机器定义至少一个服务器组

对于无事务、非分布式系统,组非常简单,只需定义组名到组号的基本映射及各组的逻辑机器即可。此外还有更多灵活选项以支持分布式的带事务的系统。

组名是GROUPS小节入口项的基础,它是一个字母数字混合名称,通过它来识别一个组。一个组必须有一个唯一的组号(GRPNO),并且必须位于一个逻辑机器(LMID)上 ,LMID也是必须的。

4、SERVERS:配置服务器(可选)

配置文件的SERVERS小节包含某个服务器进程的信息。虽然本小节并非必需,但是一个配置文件中没有本小节的应用将没有应用服务器,因此将没有实际功能。本小节的每个入口项代表一个要在应用中被启动的服务器进程,包含如下信息:

• 一个服务器名称、组别以及数字标识(SRVGRP、SRVID)

• 命令行选项(CLOPT)

• 执行服务器启动顺序和启动个数的参数(SEQUENCE、MIN、MAX)

• 一个服务器专用的环境文件(ENVFILE)

• 与服务器队列有关的信息(RQADDR、RQPERM、REPLYQ、RPPERM)

• 重启动信息(RESTART、RCMD、MAXGEN、GRACE)

• 服务器被指定为一个会话服务器(CONV)

• 重载系统范围的共享内存访问设置(SYSTEM_ACCESS)

5、SERVICES:配置服务(可选)

通过配置文件中的SERVICES小节可以指定BEA TUXEDO服务的信息。这些信息对于无事务、非分布式应用相对简单。SERVICES小节包含下面一些信息:

• 负载均衡信息(SRVGRP)

• 给服务赋予优先级

• 为不同的服务器组指定不同的服务参数

• 缓冲区类型检查信息(BUFTYPE)

6、ROUTING:配置路由(可选)

UBBCONFIG文件的ROUTING小节允许对在SERVICES小节中命名的路由标准(routing criteria)进行全面的定义(针对BEA TUXEDO数据依赖性路由)。

7、NETGROUPS/NETWORK:配置网络信息

UBBCONFIG文件的NETGROUPS小节描述在在局域网环境下应用可用的网络组。对于网络组的个数没有限制,每个网络组可能被分配一对机器。一个网络组不同网络成员之间采用的通讯方法由优先级机制(NETPRIO)决定。

每个LMID都必须是缺省网络组(DEFAULTNET)的成员,这个组的网络组号(即NETGRPNO)必须为零。不过可以更改DEFAULTNET的缺省优先级。

#NADDR指定网络连接的接入点。

#NLSADDR则指定tlisten的接入点。

#BRIDGE则指TCP连接所用的设备文件。

 

MP的例子

下面这个是实际用到的例子,group、servers、services和GWTDOMAIN都是分布在两台机器上。

#ident	"@(#) apps/simpapp/ubbSITE1	$Revision: 1.3 $"

#Skeleton UBBCONFIG file for the TUXEDO SITE1 Application.
#Replace the <bracketed> items with the appropriate values.

*RESOURCES
IPCKEY		230399

DOMAINID	domainID
MASTER		SITE1,SITE2
MAXACCESSERS 100
MAXSERVERS	60
MAXSERVICES	60
MODEL		MP
OPTIONS		LAN
LDBAL		Y

*MACHINES
"machine name1" LMID=SITE1
		APPDIR="C:\installroot"
		TUXCONFIG="C:\installroot\tuxconfig"
		TUXDIR="C:\installroot\oracle\tuxedo11gR1"
		MAXWSCLIENTS=20

"machine name2" LMID=SITE2
		APPDIR="c:\installroot"
		TUXCONFIG="c:\installroot\tuxconfig"
		TUXDIR="C:\installroot\oracle\tuxedo11gR1"
		MAXWSCLIENTS=20

*NETWORK
SITE1
		NADDR="//IP1:9991"
		NLSADDR="//IP1:9999"

SITE2
		NADDR="//IP2:9991"
		NLSADDR="//IP2:9999"

*GROUPS
BSGRP1   LMID=SITE1 GRPNO=1
WSGRP1   LMID=SITE1 GRPNO=2
LDMGRP  LMID=SITE1 GRPNO=3
LGWGRP1 LMID=SITE1 GRPNO=4
JSLGRP1  LMID=SITE1 GRPNO = 5
JREPGRP1 LMID=SITE1 GRPNO = 6

BSGRP2   LMID=SITE2 GRPNO=10
WSGRP2   LMID=SITE2 GRPNO=20
LDMGRP2  LMID=SITE2 GRPNO=30
LGWGRP2 LMID=SITE2 GRPNO=40
JSLGRP2  LMID=SITE2 GRPNO = 50
JREPGRP2 LMID=SITE2 GRPNO = 60

*SERVERS
DEFAULT:
		CLOPT="-A"
yktfront SRVGRP=BSGRP1 SRVID=51
	CLOPT="-A -- -ws C:installroot\wsclient http://ip:port/webservice/services/CommWebService -cics WZMIB cicsuser cicsuser"
		CLOPT="-A"
yktfront SRVGRP=BSGRP2 SRVID=52
	CLOPT="-A -- -ws c:installroot\wsclient http://IP:port/webservice/services/CommWebService -cics WZMIB cicsuser cicsuser"

WSL
	SRVID=61
	SRVGRP=WSGRP1
	RESTART=Y
	MAXGEN=10
	GRACE=3600
	CLOPT="-A -- -n //IP1:5000 -m 2 -M 10 -x 5 -c 1024 -w WSH"

WSL
	SRVID=62
	SRVGRP=WSGRP2
	RESTART=Y
	MAXGEN=10
	GRACE=3600
	CLOPT="-A -- -n //IP2:5000 -m 2 -M 10 -x 5 -c 1024 -w WSH"

JSL SRVGRP=JSLGRP1 SRVID=63 CLOPT="-A -- -n //IP1:6000 -M 10 -x 10 -m 2"
JREPSVR SRVGRP=JREPGRP1 SRVID=64	CLOPT="-A -- -W -P C:\installroot\jrepository"	

JSL SRVGRP=JSLGRP2 SRVID=65 CLOPT="-A -- -n //IP2:6000 -M 10 -x 10 -m 2"
JREPSVR SRVGRP=JREPGRP2 SRVID=66	CLOPT="-A -- 这里没有-W参数-P C:\installroot\jrepository"

DMADM	SRVGRP=LDMGRP	SRVID=71 REPLYQ=N
GWADM	SRVGRP=LGWGRP1	SRVID=72 REPLYQ=N
GWTDOMAIN SRVGRP=LGWGRP1 SRVID=73 REPLYQ=Y
GWADM	SRVGRP=LGWGRP2	SRVID=75 REPLYQ=N
GWTDOMAIN SRVGRP=LGWGRP2 SRVID=76 REPLYQ=Y

*SERVICES
serviceProduct
 

要点如(MODEL --MP;OPTIONS--LAN),另外DMADM只能有一个,上面概念里也说了。

 

DM config配置

要域间调用,还需要DM配置

*DM_LOCAL
#####一般建议将ACCESSPOINTID配置成与前面的名字相同,不是必须的
#####另外,主动连接端建议开启onstartup连接策略
#####为了让两个DOMAIN之间通讯,DOMAIN名字必须一一对应,所以配置时,名字需要全局考虑,避免重名
DOM1	GWGRP=LGWGRP1	TYPE=TDOMAIN	ACCESSPOINTID="DOM1" BLOCKTIME=30	CONNECTION_POLICY=ON_STARTUP
DOM2	GWGRP=LGWGRP2	TYPE=TDOMAIN	ACCESSPOINTID="DOM2" BLOCKTIME=30	CONNECTION_POLICY=ON_STARTUP
#############################################################################################

*DM_REMOTE
WZYKT	TYPE=TDOMAIN	DOMAINID="WZYKT"

*DM_TDOMAIN
YKTDOM73	NWADDR="//IP1:9990"
YKTDOM74	NWADDR="//IP2:9990"
WZYKT	NWADDR="//IP REMOTE:9990" CONNECTION_POLICY=ON_STARTUP

*DM_EXPORT
serviceProduct 	LDOM=DOM1	RNAME="自定义名称,如abc123"
#####  以下信息必须添加,否则WZYKT只能通过DOM1访问abc123服务  ######
serviceProduct	LDOM=DOM2	RNAME="abc123"
#########################################################################

*DM_IMPORT
YSCENTER	RDOM=WZYKT LDOM=DOM1 RNAME="YSCENTER"
#####  以下信息必须添加,否则只有DOM1才能访问到WZYKT上的YSCENTER服务  ######
YSCENTER	RDOM=WZYKT LDOM=DOM2 RNAME="YSCENTER"
############################################################################### 


编译文件,启动操作

在SITE1上执行tmloadcf ubbconfig命令

在SITE1和2上执行dmloadcf dmconfig命令

确定SITE1、2上tlisten已经监听9999端口,否则tlisten –l //NLSADDR:port

确定两个config目录下tlisten.pw里密码相同,否则用tlistenpw命令添加一条

 

  • 大小: 119.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics