Tuxedo 和WebLogic Server(简称WLS)间的集群配置TUXEDO 2009-09-10 23:12:34 阅读332 评论0 字号:大中小 订阅 原文:http://www./blog/article.jspx?articleId=ff80808119388d5101193a5bb94000ec Tuxedo域概念的说明 为了有效实现有其他系统的互连,TUXEDO提出了DOMAIN(域)的概念,将由多台服务器共同组成的应用系统按功能或结构划分为不同的域,每个域独立地完成域内的操作,域间操作由域网关完成,从而提高每个域和整个系统的运行效率。 TUXEDO的域特性把客户/服务器模型扩展到多个应用系统. 一个域既可以是一组TUXEDO的应用程序――若干相关的应用服务和配置环境的组合。域同时也可能是一组运行在另一个非TUXEDO环境中的应用程序。 TUXEDO和WLS应用系统的互操作就是利用域的概念来实现的。 不同的 TUXEDO应用域中的服务程序可以互相访问对方的服务,并且当一个交易同时执行多个应用域中的服务(即对于分布式事务处理)时,能够确保交易的完整性。同时,TUXEDO系统可以指定哪些服务是可供外部应用域访问的并可为这些服务设置访问控制表等安全认证手段,提高整个系统的安全性。 TUXEDO应用系统 一个TUXEDO应用系统是由在一个TUXCONFIG文件中定义的资源及其客户端的总称,它只能有一个TUXCONFIG文件,一个TUXEDO应用系统能够通过域网关与别的TUXEDO应用系统或其他的应用中间件系统实现互操作。 主要概念说明: TUXEDO Domain :一个TUXEDO应用系统就是一个DOMAIN。 /DOMAIN:TUXEDO产品的组成部分,用于与其他系统实现互连的那部分称为/DOMAIN Domain Gateway :一个用于处理DOMAIN之间请求/应答的进程 Domain Gateway Group :一组用于处理DOMAIN之间通讯的进程总称,包括一个GWADM和一个DOMAIN GATEWAY(如:GWTDOMAIN Local Domain :一个TUXEDO应用系统中的SERVICE的一个子集,它们能够被其他的DOMAIN访问,一个Local Domain对应一个domain gateway group 。 Local Service :LOCAL DOMAIN中能够被REMOTE DOMAIN访问的SERVICE称为Local Service Remote Domain :LOCAL DOMAIN能够通过DOMAIN GATEWAY GROUP进行访问的一个应用系统,它可能是一个TUXEDO应用系统,也可能是IBM大机上的应用系统(如CICS等),也可以是JAVA应用服务器WEBLOGIC。 Remote Service :REMOTE DOMAIN中能够被LOCAL DOMAIN访问的SERVICE称为Remote Service LOCAL DOMAIN与REMOTE DOMAIN可以在同一台服务器上,也可以在不同的服务器上,既:一台服务器上可以有一个或多个DOMAINS, DOMAIN的配置都在一个叫DOMCONFIG的文本文件中,可以用文本编辑该文本文件,并用dmloadcf把它编译成二进制文件BDMCONFIG。一个TUXEDO /DOMAIN只有一个DBMCONFIG文件. 在TUXCONFIG中必须定义以下的SERVER: DMADM(DOMAIN ADMINISTRATOR SERVER) 管理DOMAIN的SERVER,在运行时管理该DOMAIN的配置,DMADM主要有以下作用: 1.在运行时管理BDMCONFIG,可对DOMAIN进行动态配置 2.维护DBMCONFIG 3.对已登记的GATEWAY GROUP提供支持 如果在运行时,BDMCONFIG发生改变,DMADM会通知已登记的GATEWAY GROUP。在一个TUXEDO系统中,只能有一个DMADM进程,不能对它采用MSSQ,并且它不能有REPLYQ, REPLYQ 要设为REPLYQ=N GWADM(GATEWAY ADMINISTRATOR SERVER) 管理DOMAIN的域网关进程(在/DOMAIN中是GWTDOMAIN)的SERVER,在运行时可以对某一组域网关(domain gateway group) 进行管理.它主要的作用是从DMADM那里取的DOMAIN的配置信息,并对域网关进程及跨DOMAIN的全局事务的LOG文件进行管理. GWTDOMAIN(GATEWAY PROCESS) 处理DOMAIN之间的互操作,使LOCAL DOMAIN可以调用REMOTE DOMAIN上的SERVICE,REMOTE DOMAIN可以调用LOCAL DOMAIN上的SERVICE.如果GATEWAY的类型不是GWTDOMAIN,那么是别的进程而不是GWTDOMAIN进程在起这个作用.GMADM和GWTDOMAIN必须在同一个组中,该组称为GATEWAY GROUP或DOMAIN GATEWAY GROUP。在一个TUXEDO应用系统中可以有多个GMADM,GWTDOMAIN对,一个GROUP中只能有一对GMADM,GWTDOMAIN对,但在一个TUXEDO应用系统只能有一个DMADM,DMADM可以在任何一个组中,一个LOCAL DOMAIN可以和多个REMOTE DOMAIN实现互操作。 下面的通讯方式可以跨越DOMAIN 1. tpcall(),tpacall():LOCAL DOMAIN中的CLIENT可以用tpcall(),tpacall()调用一个在REMOTEDOMAIN中的SERVICE, 2. CONVERSATION通讯方式:LOCAL DOMAIN 可以和REMOTE DOMAIN通过CONVERSATION 方式进行通讯.通过在DBCONFIG的DM_REMOTE_SERVICE对一个SERVICE 设置CONN=Y来指明该REMOTE SERVICE支持CONVERSATION通讯方式.
TUXEDO DOMAIN的配置 一个DOMAIN的配置都在一个叫DOMCONFIG的文本文件中,可以用文本编辑该文本文件,并用DMLOADCF 把它编译成二进制文件BDOMCONFIG。DOMCONFIG包括以下几个节:
Tuxedo 和WebLogic Server(简称WLS)间的配置 首先,tuxedo和WLS直接可以采用WTC的配置方式,建立域间调用方式。连接关系如下所示:
对于WTC需要配置如下信息:
Tuxedo和WebLogic Server(简称WLS)集群的配置 为了提高WLS应用的可靠性,Tuxedo要和WLS建立集群关系,如下所示:
对于来自 Tuxedo 请求的负载平衡和故障转移可以依赖于 Tuxedo 域功能来实现。 负载平衡 : 有关 Tuxedo 环境负载平衡的详细信息,请参阅 Tuxedo Load Balancing。 以下是从 Tuxedo 到群集 WTC 进行负载平衡的示例 Tuxedo DMCONFIG。此配置的 WebLogic Server 群集中有三个节点。每个节点都有一个正确配置的 WebLogic Tuxedo Connector 实例,该实例提供 Tuxedo 客户端可以访问的导出服务。 *DM_IMP TOUPPER LDOM=tuxedo_dom RDOM=WDOM1 LOAD=50 TOUPPER LDOM=tuxedo_dom RDOM=WDOM2 LOAD=50 TOUPPER LDOM=tuxedo_dom RDOM=WDOM3 LOAD=50 故障转移 : 以下是使用更复杂的配置的示例 Tuxedo DMCONFIG,该配置在 WebLogic Server 节点之间进行负载平衡,并说明 Tuxedo 故障转移功能。要启用域级故障转移/故障回复,必须使用设置为 On Startup 或 Incoming On *DM_IMP TOUPPER LDOM=tuxedo_dom RDOM=WDOM1,WDOM2,WDOM3 LOAD=50 TOUPPER LDOM=tuxedo_dom RDOM=WDOM2,WDOM3,WDOM1 LOAD=50 TOUPPER LDOM=tuxedo_dom RDOM=WDOM3,WDOM1,WDOM2 LOAD=50 配置过程:
分别创建两个WTC服务,指定到对应的被管理服务器上。
配置的本地接入点:
设定连接策略为On Startup方式,可以支持负载均衡功能:
远端接入点(Tuxedo方),配置两个Tuxedo远端域,提供冗余连接:
远端接入点(Tuxedo方),配置信息:
远端接入点(Tuxedo方)
Tuxedo Domain Configuration: *DM_RESOURCES VERSION=U22 *DM_LOCAL_DOMAINS TDOM1 GWGRP=GROUP2 TYPE=TDOMAIN DOMAINID="TDOM1" BLOCKTIME=20 MAXDATALEN=56 MAXRDOM=89 DMTLOGDEV="d:\bea8.16\tuxedo8.1/samples/wtc/simpserv/DMTLOG" DMTLOGNAME="DMTLOG_TUXDOM" *DM_REMOTE_DOMAINS WDOM1 TYPE=TDOMAIN DOMAINID="WDOM1" WDOM2 TYPE=TDOMAIN DOMAINID="WDOM2" *DM_TDOMAIN TDOM1 NWADDR="//10.130.1.33:20301" WDOM1 NWADDR="//10.130.1.33:20401" WDOM2 NWADDR="//10.130.1.33:20402" *DM_IMP TOLOWER LDOM=TDOM1 RDOM=WDOM1,WDOM2 LOAD=50 TOLOWER LDOM=TDOM1 RDOM=WDOM2,WDOM1 LOAD=50
WLS和Tuxedo集群的配置 对于来自WLS的请求,可以和tuxedo建立跨域的集群配置,如下所示:
WTC1 上的imp
使用JAVA 访问,可以访问到Tuxedo提供的服务:
对访问Tuxedo多域的负载均衡,有两种实现策略: 方式一,在WTC,通过配置多个同名导入服务来实现。WLS端基于负载均衡策略,调用同名服务。这样实现对Tuxedo服务的负载均衡调用。 <wtc-imp <name>imp0</name> <resource-name>TOUPPER</resource-name> <local-access-point>WDOM1</local-access-point> <remote-access-point-list>TDOM1,TDOM2</remote-access-point-list> <remote-name>TOUPPER</remote-name> </wtc-imp <wtc-imp <name>imp1</name> <resource-name>TOUPPER</resource-name> <local-access-point>WDOM1</local-access-point> <name>2ndImp <remote-access-point-list>TDOM2,TDOM1</remote-access-point-list> <remote-name>TOUPPER</remote-name> </wtc-imp 方式二,可以通过其在WebLogic Server端部署的EJB程序来实现的。EJB作为tuxedo的接入服务,在WTC程序采用集群方式部署,EJB客户端可以采用负载均衡的方式调用EJB。 此种方式,对应在WTC中的配置,就是: WTC1 上的导入服务为: <wtc-imp <name>imp0</name> <resource-name>TOUPPER</resource-name> <local-access-point>WDOM1</local-access-point> <name>2ndImp <remote-access-point-list>TDOM1,TDOM2</remote-access-point-list> <remote-name>TOUPPER</remote-name> </wtc-imp WTC2上的导入服务为: <wtc-imp <name>imp0</name> <resource-name>TOUPPER</resource-name> <local-access-point>WDOM2</local-access-point> <name>2ndImp <remote-access-point-list>TDOM2,TDOM1</remote-access-point-list> <remote-name>TOUPPER</remote-name> </wtc-imp 访问 Tuxedo的容错功能是通过多个接入点列表来实现,如果访问第一个不成功,就顺延访问下一个。 <remote-access-point-list>TDOM1,TDOM2</remote-access-point-list>(容错的实现,指定多个远端接入点) |
|