《TUXEDO基础培训教程.docx》由会员分享,可在线阅读,更多相关《TUXEDO基础培训教程.docx(61页珍藏版)》请在三一办公上搜索。
1、TUXEDO基础培训教程V1.0.0神州数码思特奇 黑龙江分支营业组2008-4-13目录目录21.TUXEDO系统概述.41.1 客户机/服务器体系结构41.2 什么是TUXEDO系统61.2 TUXEDO核心系统组成71.3 TUXEDO应用程序工作原理101.4 远程客户端与WSL原理111.5 TUXEDO系统的关键特性122. TUXEDO系统配置162.1 配置文件162.2 信息内容172.3 生成TUXCONFIG文件202.4 关于MSSQ的配置212.5远程客户端配置222.6 Tuxedo Domains配置233. TUXEDO的缓冲区273.1 概述273.2 FML
2、缓冲区273.2 FML域表文件293.3与缓冲区使用有关的函数323.4 程序中的例子344. TUXEDO应用程序开发354.1 常用的ATMI364.2 BEA Tuxedo系统提供多种通信模式424.3 同步的Request/Response模式434.4 TUXEDO程序基本结构434.5 启动和关闭应用程序475. IPC角度理解TUXEDO的原理及结构495.1 概述495.1 信号灯515.2 消息队列515.3 共享内存515.4 实验过程和结果536. TUXEDO性能优化59附录:61A用TCP连接分析TUXEDO的WS模式61B关于TUXEDO 负载均衡和MSSQ的探讨
3、61C化繁为简来学习编写BEA TUXEDO会话的程序61DTUXEDO超时控制全功略61E将Tuxedo Service 发布成 Web Service61F使用LoadRunner来测试BEA TUXEDO62G. 基于系统真实数据的TUXEDO应用服务器压力测试的研究与实现62H. 配置WebLogic Tuxedo Connector62I. 用VC6.0和FML结合进行远程文件传输621. TUXEDO系统概述1.1 客户机/服务器体系结构企业计算模式的发展大致经历了这样三个阶段:l 以大型机为核心的“主机/终端”模式;l 以文件服务为核心的“文件服务器”模式;l 以数据服务为核心的
4、“客户机/服务器”模式。“客户机/服务器”模式可以分为以数据库管理系统(DBMS)为核心的两层结构和以中间件(或称为应用服务器)为核心的多层结构。典型的两层结构模型为:服务器端运行关系数据库,负责提供数据服务,所有应用逻辑和用户界面都安装在客户端,客户机与服务器通过“请求/应答”(Request/Response)进行业务逻辑处理。但是随着应用规模的扩大,逐渐暴露诸多缺陷:l 无法处理大并发量的用户请求;l 系统可移植性差;l 系统可扩展性差;l 不支持分布式事务;l 可管理性差;l 不具有动态伸缩性。Client1Client2Client3Server1Server2Server3图1-1
5、 两层客户机/服务器模型完全互联时形成的MN网状结构把两层结构中部署在客户机和服务器上的业务逻辑抽取出来,单独放到一个中间层上去处理,就构成了三层结构。客户机只处理表示(Presentation)逻辑,即显示用户界面、接收用户输入数据、提交交易请求、显示交易处理结果;应用服务器只处理应用(Application)逻辑,即负责维护客户机和服务器之间的通信连接,提供命名、通信、事务、安全、并发、持久性、负载均衡等应用服务。后台数据库(DBMS)只提供数据服务,即负责提供数据存储、查询、复制等服务。Client1Client2Client3PresentationServer1Server2Serv
6、er3DBMSApplication Server1Application Server2Application图1-2 三层客户机/服务器结构的逻辑图(M+N互联模型)表示层、应用逻辑层和数据层在物理分布上是非常灵活的,它们既可以同时分布在同一台主机上,也可以分布在不同的主机上。根据业务需求,可以对应用服务层再进行扩展,形成多层结构。三层或多层结构有如下一些优势:l 服务连接池机制;l 丰富的通信机制;l 支持分布式事务;l 可移植性好;l 可管理性强;l 可靠性高;l 灵活性和扩展性好。按照服务形式的不同,可以将C/S模型分为以数据请求为核心的会话模型和以服务请求为核心的联机事务处理(On
7、line Transaction Processing,OLTP)模型。在以数据请求为核心的模型中,客户机给服务器发送SQL指令,服务器给客户机返回数据;在以服务请求为核心的模型中,客户机给服务器发送服务请求,服务器执行业务逻辑并给客户机一个响应。OLTP系统最大的特点是并发用户数量大,突发性强,交易时间短,输入输出格式固定。大多数OLTP系统都有多个资源管理器来提供数据服务,因此需要借助事务管理器(TM)来协调分布式事务。1.2 什么是TUXEDO系统“TUX has been Extended for Distributed Operation!”Tuxedo是BEA公司的交易中间件产品,
8、1984年由贝尔实验室开发成功,1992年易主Novell公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。BEA Tuxedo是在企业、Internet这样的分布式运算环境中,开发和管理三层结构的“客户/服务器”关键业务系统的平台软件。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。它提供了一个开放的环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方式,使得开发人员能够利用它建立跨硬件平台、数据库和操作系统的交互应用系统。作为一种成熟的中间件产品,TUXEDO在大规模关键事务领域
9、中的整合各种异构平台、保证交易完整性等方面表现出了超强的能力。Tuxedo可以有效地整合企业异构C/S系统,实现大规模的关键业务处理和分布式事务管理,从而为企业提供一个可靠的、高性能的、易维护的三层分布式计算机环境。在企业分布式联机交易系统OLTP(online transaction processing)中,TUXEDO常常作为一个事务管理器(TM)来协调分布式事务;在构建多层C/S应用系统中,TUXEDO经常以一个中间件的角色部署在客户机和服务器之间,提供应用服务;在构建企业级应用系统中,TUXEDO经常以一个应用服务器平台的角色出现,为企业应用提供一个部署环境和运行环境。Clients
10、TUXEDOServersTMRequestResponseORACLEDB2SQLDATAERPLegacyApplicationRM1RM2图1-3 TUXEDO的应用服务器模型1.2 TUXEDO核心系统组成Tuxedo的应用程序是以业务逻辑服务、由这些逻辑服务组织成的高层服务器组件和在服务器结点环境中的组件分布为特征的。支持这种虚拟主机环境的Tuxedo元素,包括配置信息库和实现运行时应用管理的核心子系统。限于篇幅的限制,这里只对核心子系统作简单介绍。可靠队列服务事务管理器域网关TUXEDO域可靠队列服务事务管理器域网关TUXEDO域工作站工作站图1-4 TUXEDO核心系统组成BEA
11、 Tuxedo 是由服务器端的事务管理器、可靠队列服务、应用域及客户端工作站等组成。1. 公告板BBTuxedo应用配置文件被映射到一个运行时数据结构:公告板(BB)。BB 作为一个从配置文件中派生出来的共享信息库,驻留在每个参与到由配置文件指定的应用程序的Tuxedo的服务器结点上。BB不仅作为分布式应用的名字服务数据库,提供分布式环境下的应用对象的位置信息,还作为应用统计数据的运行时仓库。BB由Tuxedo核心例程(对应用开发者透明)访问,由核心例程读/修改BB库。这个信息库提供Tuxedo完成动态客户/服务器映射所需的信息,同时也提供完成诸如负载平衡、 安全性和事务协调等功能的信息。2.
12、 事务管理器/T事务管理器运行于服务器端,既是Tuxedo 体系结构的中心,也是每个Tuxedo服务器的核心,提供重要的分布式应用服务,包括:命名、消息路由、负载平衡、配置管理、事务管理和安全性。它也包含BB结构,使用维护和访问BB信息的服务。换句话说,BB内包含有执行和管理大规模的基于组件的应用程序所需的所有信息,它将对事务管理器进程起作用。客户请求到达驻留在服务器上的客户代理进程,服务器通过注册参加到该应用中。作为客户方通讯的一部分,事务管理器访问BB,然后选择服务器,接着,服务器消息队列的地址被返回,客户方的请求被马上传送到合适的队列等待服务为它进行处理。3. 工作站/WS工作站把Tux
13、edo ATMI API扩展到客户应用程序中,使得平台透明化。使用ATMI的客户端程序,可以访问在Tuxedo分布式环境中任何地方的服务。一个多路网关进程,称为工作站监听进程(WSL),驻留在Tuxedo应用服务器上,配合工作站处理进程Workstation Handler(WSH),处理工作站和事务管理器应用服务之间的通讯。WSL把来自大量客户应用程序的请求,会聚到Tuxedo事务管理器,以便完成所管辖的服务。4. 可靠队列服务/QTUXEDO/Q是TUXEDO的一个重要的子系统,它为分布式联机事务处理应用程序提供了一种准实时的异步通信方式,支持持久和非持久的消息存储机制,提供面向事务的消息
14、存取和转发机制,以及多样化的出队机制。在这种通信方式下,通信的一方是消息发送者,它的职能是把消息放入消息队列;另一方是消息接收者,它的职能是从消息队列中提取消息。它为每一个消息提供了一个控制块,以便TUXEDO/Q和应用程序对消息的传输方式和过程进行控制跟踪。TUXEDO/Q可以保证消息以“Exactly-Only-Once”的服务质量进行传递。在任何情况下,任何一条消息都不会被重传,也不会被丢失。5. 域/DOMAIN为了有效实现与其他系统的互连,TUXEDO提出了DOMAIN的概念,将很多台服务器共同组成的应用系统按按功能或结构划分不同的域,每个域独立完成域内的操作,域间操作由域网关完成,
15、从而提高每个域和整个系统的运行效率。这些域可以分布在不同的地理位置,域和域之间可以通过局域网或广域网连接在一起。如果一个应用系统只由一个域构成,则通常称之为单域应用系统;如果由多个域构成,则称之为多域应用系统。TUXEDO的域特性把客户/服务器模型扩展到多个独立自治的应用系统。一个域既可以是一组TUXEDO的应用程序若干相关的应用服务和配置环境的组合,同时也可能是一组运行在另一个非TUXEDO环境中的应用程序。TUXEDO和其他中间件的互操作也是利用域的概念来实现的。不同的TUXEDO应用域中的服务程序可以互相访问对方的服务,并当一个交易同时执行多个应用域中的服务(即对于分布式事务处理)时,能
16、够确保交易的完整性。1.3 TUXEDO应用程序工作原理在实际工作,理解了Tuxedo应用程序的工作原理和机制,有助于我们的具体应用、维护工作,同时对于系统开发、规划的能力也是很有帮助的。在TUXEDO的诸多通信方式中,请求/应答式通信是最简单也是最常用的一种客户机和服务器之间的对话模式。TUXEDO系统使用IPC(Interprocess Communication,进程间通信)消息队列来实现请求/应答式通信。消息队列是实现面向无连接通信的关键技术,TUXEDO系统会给每个服务进程分配一个IPC消息队列,称为请求队列,给每一个客户机分配一个响应队列。这样客户机和服务器之间就不需要建立通信连接
17、,客户机把请求消息放入服务器的请求队列中,然后从自己的响应队列中检查响应结果。TUXEDO系统使用IPC消息队列提供了面向无连接的数据通信,这不仅减小了建立和撤除连接的额外开销,还提高了网络的使用效率。 一个典型的TUXEDO应用程序由客户机、服务器、IPC消息队列、公告板(BB)和公告板联络进程(BBL)构成。BBL是TUXEDO系统的管理进程,它维护公共板,监视着系统中所有部件的运行,并定期对系统进行健康检查。客户机ClientATMI服务器ServerATMIMessageQueueMessageQueue3.发送请求缓冲区4.服务器响应公告板联络进程BBL事务管理器公告板BB1.发送服
18、务请求2.返回消息队列入口5.更新公告板图1-5 TUXEDO应用程序工作原理客户机要调用服务器提供的服务,首先通过操作1向事务管理器发出服务请求,服务端的事务管理器从公告板中查询服务的请求队列地址(RQADDR),通过操作2将队列地址返回给客户端;客户机收到请求队列地址后,将需要发送到服务的参数放入缓冲区,并通过操作3将请求缓冲区发送到服务的请求队列;服务器完成客户请求处理后,通过操作4把响应结果发送到客户机的响应队列(REPLYQ),同时通过操作5更新公共板,写入服务处理情况。1.4 远程客户端与WSL原理TUXEDO有两种类型的客户端,即本地客户端和远程客户端。本地客户端(Native
19、Client):通过共享内存与服务器进行通信,从物理上看,总是与Tuxedo服务器部署在同一台机器上,不用通过网络就可以访问到Tuxedo服务器。远程客户端(Workstation Client):总是使用TCP/IP协议和服务器进行通信,即便两者都部署在同一台主机上也是如此。本地客户端直接通过TUXCONFIG环境变量就可以得到公告板,而远程客户端则要通过WSNADDR环境变量连接到WSL,再由WSL分配WSH作为请求代理来调用服务。WSL(Workstation Listener)是TUXEDO系统提供的工作站监听服务,在应用程序启动时,它开始监听服务器上的某个端口,并根据配置指令自动启动
20、若干个WSH(Workstation Handler),形成“WSH Pool”。当有并发的服务请求时,监听进程还是只有一个(WSL),但是事先已经起了多个处理请求的进程(WSH),每个WSH又可以处理多个请求,这样就保证了大量的请求能同时得到处理,也省去了临时开启服务进程的开销。WSH PoolWSHWSHWSHWSHTUXEDODomainNetworkWSLServerServerServerWSNADDR图1-6 远程客户端与WSH建立连接以及调用服务的过程当WSC(远程客户端)调用tpinit()或tpchkauth()时,WSC采用在WSNADDR中指定的IP地址与服务端的WSL建
21、立连接(图中操作),WSL从“WSH Pool”中取出一个负载最小的WSH(图中操作),并把该WSH的侦听端口返回给WSC(图中操作),WSC采用返回的端口与指定的WSH建立连接,并与WSL断开连接;当WSC调用服务时,WSC把请求缓冲区发送到WSH的请求队列中(图中操作),WSH代表客户机,把请求放到服务的请求队列中,服务处理完请求后把响应结果传给WSH(图中操作),WSH再把它返回给客户机(图中操作)。TUXEDO系统会根据配置指令和并发压力的大小,动态调整“WSH Pool”中WSH进程的数量。1.5 TUXEDO系统的关键特性1. 名字服务和位置透明性公告板为TUXEDO应用程序提供了
22、名字服务。为了便于快速访问,它作为共享内存中的一个结构存在。在运行时系统中,公告板会被复制到每个参与计算的节点上。TUXEDO系统使用名字信息、配置信息和环境统计信息自动把服务请求平衡到可用的服务上,并且根据数据内容为客户请求选择路由,为服务请求选择优先级。开发人员把应用程序编成对逻辑入口项(称有名服务)函数的调用,TUXEDO系统会把这些逻辑请求映射到服务器节点或服务进程上。由于客户机请求的是有名服务,而不是某个具体的后台进程,因此后台进程和服务器的分布对于客户机来说是透明的。Client or ServerNaming ServiceService AService BService CL
23、ook up nameGets nameInvokes a service图1-7 TUXEDO的有名服务2. 强大的通信功能在C/S通信方面,TUXEDO不仅支持“请求/应答”式通信模式(同步、异步、嵌套、转发、TxRPC),而且支持保持交易状态的会话通信方式、基于发布/订阅的事件代理方式、基于单播/多播的消息通知方式、基于消息队列的可靠消息存储和转发方式。在消息传递方面,TUXEDO提供了CARRAY、STRING、VIEW32、FML32、XML和MBSTRING类型缓冲区来承载消息。此外,用户还可以自定义消息缓冲区类型。3. 强大的联机交易性能TUXEDO能够使多个客户连接到一个服务器
24、进程,由这个服务器进程统一存取数据库,为客户的请求服务。这样,数据库为处理连接所需的资源大大减少。1000个通道+1000个进程+500MB的RAM+10,000个打开的文件1000个客户机不使用TUXEDO系统=操作系统瘫痪50个通道+50个进程+25MB的RAM+500个打开的文件1000个客户机使用了TUXEDO系统=操作系统正常50TM图1-8 TUXEDO系统提供的C/S通信甬道在不使用TUXEDO的系统中,服务器必须为每一个客户请求维护一个通信连接,创建一个或多个进程/线程来处理业务逻辑,这样就会占用大量的服务器资源。如果使用了TUXEDO系统,它的TM就能在客户机和服务器之间架起
25、一个通信甬道,根据服务器的性能和承受压力的能力,创建一定数量的服务进程来处理客户请求。TUXEDO系统把客户请求放入IPC请求队列中,由服务器调度处理。这样不仅能够缓解服务器压力,而且可以保证所有客户请求都得到处理。4. 强大的分布式事务协调能力TUXEDO使用全局事务跟踪事务参与者,使用两阶段提交协议来协调事务,这样就可确保每个资源管理器都能正确地处理事务的提交和回滚。5. 完善的负载均衡机制TUXEDO系统使用负载均衡机制来把客户请求平均地分布到每一个提供相同服务的后台服务器和进程上。TUXEDO系统支持主机级和进程级的负载均衡。如果应用程序分布在多台主机上,则当客户请求到达时,TUXED
26、O系统会根据主机的计算能力来分发请求,当请求到达某个主机后,TUXEDO系统会在多个对等的进程之间进行进程负载均衡。在多机(MP)模式下,通过配置负载均衡选项,可以实现主机级的负载均衡。多机(MP)模式指的是同一个TUXEDO应用程序分布到多台物理主机上,即TUXEDO的集群模式。在这些服务器中要选择一台服务器做MASTER服务器,在该服务器上有一个DBBL进程,负责整个Tuxedo应用系统的管理工作。每台服务器上还有一个名为BRIDGE的进程和一个名为tlisten的进程,它们负责服务器之间的通信。如果配置了MP方式,那么在这些服务器之间可以做负责均衡和容错,客户端可以和其中的任何一台服务器
27、建立连接,如果该服务器上没有该客户端所要调用的service,Tuxedo可以自动把请求发送到别的有该服务的机器上处理,并把结果返回到客户端。为了确保应用吞吐量最大,Tuxedo的事务管理器自动在系统中完成动态负载平衡调度。通过使用每个服务的负载因子(在UBBCONFIG中的SERVICE一节配置serivce的负载因子),事务管理器把请求发送给能最快处理该请求的服务器,事务管理器通过为当前排队的请求总计负载因子来决定给定服务器上的负载。DBBLBBLBBBBLBBTUXCONFIGTUXCONFIGTUXCONFIGBBLBBServersServersServersMachine A(ma
28、ster)Machine BMachine CBridgeBridgeBridge图1-9 多机TUXEDO应用系统通过配置MSSQ,可以实现进程级的负载均衡。MSSQ(Multiple Server Single Queue),即多个服务进程从单个IPC消息队列中提取请求消息进行处理,以达到队列级负载均衡的目的,这是TUXEDO系统的一种消息调度机制。在MSSQ方式下,同一个服务被启动了多个进程,这些进程都共享同一个请求队列。6. 数据依赖路由BEA Tuxedo支持数据依赖路由。数据依赖型路由是根据数据缓冲区中一个指定域的值,把一个服务请求映射到一个指定的服务器组的机制。不同服务进程组所存
29、取的数据可以是集中的同一个数据源,也可以是分布在各自服务器上的不同的数据源。这种功能的实现是通过事务管理器/T进行路由选择完成的,而不需要编写应用代码。事实上,事务管理器/T查看指定的参数值,参考存储在BB中的路由信息,然后把请求发送到指定的服务进程。MachineServer AServer BServiceServiceClientParam = 800Param = 200DatabaseParam 500DatabaseParam 500图1-10 数据依赖路由2. TUXEDO系统配置应用的描述信息配置在系统核心位置,用一个文件描述,通常称为ubbconfig文件,在主控机器上。整个
30、TUXEDO系统的管理任务可以在一台机器上完成,在配置中被定为主控节点。在运行时,这些信息被装入一段共享内存(一个IPC资源),称为公告牌(Bulletin BoardBB);包含有配置中不同机器的信息,在这些机器上运行的服务的信息,这些服务提供的交易的信息以及其他相关信息。客户端在运行时连接公告牌。当客户端程序调用一个交易,将根据公告牌找到合适的服务队列。TUXEDO提供一个管理进程,称为BBL(Bulletin Board Liaison),包含了一个公告牌的本地拷贝和本地服务器上应用的状态。TUXEDO提供的另一个管理进程DBBL(Distinguished Bulletin Board
31、 Liaison),用于多服务器配置时。DBBL与BBL协同,保证所有部分的公告牌内容的一致性。2.1 配置文件ubbconfig文件可视作包含应用启动信息的容器,需编译成二进制文件tuxconfig,作为启动时的参考。UBBCONFIG配置文件分为9节,各节之间具有包含关系,从上到下是一对多的关系。其内信息包括:v 系统范围信息(*RESOURCES节)v 机器信息(*MACHINES节)v 组信息(*GROUPS节)v 服务信息(*SERVERS节)v 交易信息(*SERVICES节)v 网络组信息(*NETGROUPS节)v 网络信息(*NETWORK节)v 路由原则信息(*ROUTIN
32、G节)当完成了ubbconfig文件后,用tmloadcf命令生成tuxconfig。2.2 信息内容1. RESOURCES定义*RESOURCES节包含整个应用范围的信息。本节必须在配置文件第一节,不可缺少。信息说明如下:参数意义*RESOURCES*RESOURCES节IPCKEY公告板idUIDTUXEDO管理员用户idGIDTUXEDO管理员用户组idPERMTUXEDO管理员组用户的权限MAXACCESSERS服务端和客户端的最大进程数MAXSERVERS限制可以启动服务总数MAXSERVICES限制可以发布交易总数MASTER指出主控节点的逻辑名,第二个是备份节点MODEL应用构
33、架,MP表示多机,否则为单机模式SHMSYSTEM_ACCESSPROTECTED,NO_OVERRIDE,应用代码不得干扰共享内存LDBAL设Y则进行负载平衡SCANUNIT内部时间间隔单位,单位是秒SANITYSCAN检索公告牌的内部时间间隔,单位是SCANUNITBLOCKTIME交易超时时间,单位是SCANUNITBBLQUERY所有BLL轮询TUXEDO状况的时间间隔MAXCONV同时最大会话数2. MACHINES定义*MACHINES节包含应用有关的每个处理器的信息。本节必须在*RESOURCES节后列出。参数意义*MACHINESMACHINES节TUXDIRTUXEDO系统软
34、件安装位置APPDIR应用服务位置全路径TUXCONFIGTUXEDO配置文件全路径ENVFILE环境文件全路径ULOGPFX应用日志文件全路径MAXACCESSERS本机最多处理器数,可以超越*RESOURCES节定义MAXCONV本机最大会话数,可以超越*RESOURCES节定义注意:本处未列出全部参数。这些系统范围内参数可以被后序节内参数超越。3. GROUP定义*GROUP节包含服务组的定义。一台机器至少要定义一个服务组。如果没有定义组,管理命令tmadmin可能依然能运行。每个组只要定义组名,映射组名的组号和逻辑机器名。组为分布式交易系统和数据依赖路由等灵活性措施提供了支持。参数意义
35、*GROUPSGROUP节BANKB1组的唯一标识符,可以是字母数字GRPNO组的唯一数字标识符LMID组所在的机器4. 服务定义ubbconfig的*SERVERS节包含的是服务进程的信息。本节中每一个入口代表一个应用启动时加载的服务。这些信息包含服务名,命令行参数,服务环境,重启动等等。由于每个服务功能各不相同,其配置参数也因此相同或相异。参数意义*SERVERSSERVER节,列出所有服务程序DEFAULT:本处列出的参数为其下列出的服务的缺省值,但可以被单列条目替代相应值RESTART如果设成Y,则服务可以重启动MAXGEN在GRACE定义时间之内,服务可以重启动MAXGEN次GRAC
36、E周期,单位是秒RCMD每次服务重启动,本处定义的脚本或命令被执行ENVFILE列有环境变量的文件,在交易启动前设入环境TLR一个服务名,用buildserver建立,应在APPDIR或$TUXDIR/binSRVGRP服务属于一个在*GROUPS节中定义的服务组;如果需要移植服务,也可以定义在多个组中。SRVID服务组中代表服务的唯一值MIN最少在启动时启动的服务数MAX运行时,最多可以起的实例数CLOPT跟随服务启动的其他参数-A 服务内建交易全发布r指定服务记录时间戳,用于以后计算交易处理时间-e 定义标准错误重定向文件-o 定义标准输出重定向文件-TUXEDO参数和服务特定参数的分隔符
37、传给tpsvrinit()的参数SYSTEM_ACCESS设定后,应用错误不干扰公告牌RQADDR当设定此项后,所有本服务的实例都使用相同的请求队列。这是在应用中设置MSSQ(Multiple Server Single Queue)的方便办法,可以改善处理流量。任何时候,所有MSSQ集中的实例发布相同的交易集。REPLYQ设成Y,则服务又作为一个MSSQ集配置,任何其中的交易调用其他交易,就建立一个单独的回应队列。5. 交易定义*SERVICES节提供了应用的特殊交易的信息。包括负载平衡(LOAD)、service优先级、数据依赖路由、全局事务和数据缓冲类型检查(BUFTYPE)。如果全部都
38、是缺省值则本节可以省略。参数意义*SERVICES交易节#注释行符号大写字母交易名,由应用服务提供BUFTYPE任何向该交易的请求,数据应该是此处定义类型GROUP交易所在服务所在的组LOAD负载因子,表示处理请求的时间,用于计算负载平衡PRIO优先级DDR 定义数据依赖路由AUTOTRAN 调用该service时是否自动启动一个全局事务,默认为N没有相关应用,大家作为了解即可。2.3 生成TUXCONFIG文件UBBCONFIG文件是一个可以编辑成需要的应用配置的文本文件。但是,/T在实际应用上读取的是二进制TUXCONFIG文件用于操作。命令tmloadcfg可以把UBBCONFIG文件转
39、化成TUXCONFIG文件。tmloadcf命令接受以下4个参数:-c计算运行应用需要的IPC资源,该信息将提供给管理员,用于在各机器上配置资源。-n进行语法检查并不生成TUXCONFIG。-b控制TUXCONFIG占用的物理页数。-y无条件覆盖TUXCONFIG环境变量TUXCONFIG必须设定指向二进制TUXCONFIG文件。在安全要求高的应用中,tmloadcf不能从标准输入接受,环境变量APP_PW必须包含应用密码。tmunloadcf将TUXCONFIG转换成ASCII格式用于检查。该工具读取环境变量TUXCONFIG指向的文件。输出包含所有的参数,包括TUXEDO设定的缺省值,是U
40、BBCONFIG文件的一个超集。2.4 关于MSSQ的配置在默认情况下,Tuxedo的每一个Server进程对应一个请求队列,该Server从请求队列中取客户端发来的请求,并把处理的结果通过该请求队列返回给客户端,Tuxedo的Server可以配置成多个Server对应一个请求队列,即MSSQ方式,以提高响应的速度。与MSSQ有关的参数是:(1) RQADDR:请求队列的名字,一般设成与该Server的名字一样。(2) RAPERM:请求队列的存取权限,默认为0666。(3) REPLYQ:该Server中的某个Service调用其他的Service,并有返回结果,则应设置REPLYQ=Y,即
41、把其他Service的应答放到该队列中。(4) CONV:设置该Server是否采用会话通信方式。注意采用会话通信的service要单独在一个server中,不能与采用其他通信方式的service在同一个server中,并且该server要设置CONV=Y。(5) CLOPT:设置server的启动参数。2.5远程客户端配置1. 本地客户端与远程客户端的区别1) 本地客户端只能用C语言或COBAL语言编写,远程客户端可以用几乎所有的编程语言编写。2) 在远程客户端所在的机器上要安装Tuxedo的客户端软件,并要设置相应的环境变量(WSNADDR)。在本地客户端上则不用。3) 在SERVERS中
42、配置WSL,配置WSL的侦听端口。4) 本地客户端对应一个消息队列,接受server的处理结果;远程客户端不占用消息队列。5) 用buildclient编译远程客户端程序时要加“-w”,编译本地客户端则不用。2. 远程客户端的配置1)在MACHINES中配置MAXWSCLIENTS2)在SERVERS中配置server:WSL首先通过WSL配置,了解一下WSH(WorkStation Handler Server)和WSL(WorkStation Listener)交互过程,系统中WSL的配置如下:WSL SRVGRP=WSLGRP_HLJBOSS SRVID=16000 RESTART=Y
43、MAXGEN=10 CLOPT= -A -t - -n /10.110.0.200:28770 -m10 -M50 -x10 -K both -c 10240CLOPT可带参数:-n netaddr:WSL的侦听端口-m minh:最少启动多少个WSH进程-M maxh:最多启动多少个WSH进程,默认为MAXWSCLIENTS/x-x mpx_factor:每个WSH进程可以同时与多少个远程客户端连接-c compression_threshold:如果传送的数据包大小超过“-c”指定参数,自动进行数据压缩-T Client_timeout:指定一个远程客户端的空闲时间-t timeout_f
44、actor:指定远程客户端与WSH建立连接的时间-N -p minwshport-P maxwshport:指定WSH可以使用的端口范围上面的配置在启动后可以处理同时m*x100个并发请求,最大可以处理500个。在TCP并发处理方式之上进行了改进。监听进程还是只有一个(WSL),但是事先已经起了多个处理请求的进程(WSH),每个WSH又可以处理多个请求,这样就保证了大量的请求能同时得到处理,也省去了临时开服务进程的开销。3) 环境变量的设置TUXDIRWSNADDR 为“-n”参数的值WSTYPE(可选)注:不要忘记用buildclient编译远程客户端程序时要加“-w”2.6 Tuxedo
45、Domains配置local domain和remote domain可以在同一台服务器上,也可以在不同服务器上,即一台服务器可以有一个或多个DOMAIN。针对域的管理有三个服务进程DMADM,GWADM和GWTDOMAIN。这些服务必须配置在UBBCONFIG文件中。配置信息必须在远程和本地应用环境中定义。除UBBCONFIG外,配置/DOMAINS还需要一些信息。这些信息在DMCONFIG文件中。DMCONFIG的文本文件通过dmloadcf编译成二进制文件BDMCONFIG。服务DMADM是管理DOMAIN的server,维护和管理DMCONFIG,对GATEWAY GROUP(GWADM和GWTDOMAIN)提供支持。服务GWADM是管理DOMAIN的域网关进程(GWTDOMAIN)的server,从DMADN取得DOMAIN的配置信息,并对GWTDOMAIN及全局事务的LOG文件进行管理。服务GWTDOMAIN(GWT)负责响应域间通讯,处理DOMAIN之间的互操作。服务GWTDOMAIN通过TCP/IP协议与其他域进行通讯。物理上远程的域的应用位置是透明的。服务GWTDOMAIN是双向的,可以处理远程域发来的请求也可以向远程域发出请求。GWTDOMAIN和DMADM必须在同一个组中,在一个tuxedo系统中
链接地址:https://www.31ppt.com/p-1877484.html