Tuxedo 功能说明书
说明:本说明书是为了适应光大银行的要求,为光大银行提供 有关 Tuxedo 功能的简要说明列表。
一、交易处理服务
1. 交易完整性保证机制
l 当应用系统只有局部事务、没有全局事务时,Tuxedo 直接利 用数据库的 事务处理功能(用或不用 XA),这样可提高系统性能。
l 当应用系统涉及跨多个资源数据库(同构或异构)的全局事务的时, Tuxedo 利用XA标准和两阶段提交协议,通过事务管理器,协调各个数据库的同步。
Tuxedo 还可保证可靠性队列/Q 的入出队操作和 数据库的 更新操 作的同 步。在各种情况下, Tuxedo 能够确保异构的(或者同构的) 数据库以及 它资源管理器之间的完整性和一致,并且还在出现节点故障、网络故障或全 局 资源死锁时利用内部的交易日志来协调全局事务的恢复。
2.交易优先级
请求优先级是Tuxedo 的事务管理器提供的另一个核心能力。当某一 服务有比 其他服务更高的优先 级时,服务器在处理请求时,就不再单纯的按照请 求在队列 中 的先后顺序处理,而是按优先级来定。请求优先级越高的越早被处理。为了防止低优先级请求总是得不到服务,服务器每隔十个请求,就按FIFO次序进行一次请求选择。
二、可管理性
TUXEDO 的三层逻辑结构提供了对应用程序高度的可管理性。它以业务逻辑 层为管理的主要对象,把基本业务组件即服务进程的服务做为管理的基本单位。应用系统由一些基本的组件即服务构成,这样它的易理解、易修改、易扩充等需求都得到保证。
TUXEDO提供一个基于普通WEB浏览器的GUI管理工具,也可根据用户需要提供基于X Window/ Motif 的GUI管理工具;还提供综合性的字符型管理命令; 并且 提供 一个管理信息库(MIB)和编程接口,使用户可根据特定需求编写自己的管理工具。
TUXEDO 的关联产品 BEA MANAGER 通过网络管理协议 SNMP和TUXEDO 的管理信息库 MIB 可以把TUXEDO 对应用程序的管理集 成到一般 的网络、 数据库 系统管理工具中,比如 OpenView, NetView 等。
1. 对远程安装,设置的支持
TUXEDO 的远程客户端的安装与设定非常简单,可以在服务器端集中打包,由OS 的
基本命令 ftp,rsh 来简单完成。
2. 对应用,中间件,数据库和网络的监控
TUXEDO本身仅应用及TUXEDO 系统进行管理。 可通过 BEA MANAGER 将应用和TUXEDO 的管理和其它对数据库、 网络的管 理工具集成。
3。管理界面的是基于GUI还是基于字符,不同平台管理界面的一致性
TUXEDO 提供不仅提供管理命令,同时还提供基于WEB 浏览器的GUI管理界面, 并可根据用户要求提供基于X Window /Motif 的GUI 管理界面。且不同平台的界 面完全一致。
4.整个系统的集中式管理
TUXEDO 的分布式应用是由系统管理员集中式定义、集中式管理, 管理员根 据一个整 体系统视图(而不仅是单个节点或单元)提供的信息, 可以作出决定和 采取动作。
5.管理的API的提供
TUXEDO 提供C 语言的管理API ,用户能够用此编 写出适合自己特殊 需求的 管理工具。
6.基于 Internet/Intranet 的管理界面
TUXEDO不但提供了一些管理命令,而且提供了一个集成的图形界面管理工具,集中地监视和管理应用系统的运行,并且可动态地修改系统配置。利用普通的 WEB 浏览器比如Netscape或Microsoft 的 Explorer 可以从Internet/Intranet 的任意一 个节点 来运行该图形界面管理工具。
7.系统提供的日志及功能
TUXEDO 提供各种日志,分别帮助用 户根跟踪、分析、调试应用 系统, 并 在系统 出 现故障时作恢复处理。TUXEDO 提供动态跟踪日志,跟踪系统对ATMI 的调用; TUXEDO 还提供应用服务级别的跟踪分析功能, 帮助系统开 发及管 理人员 分析 应用的执行情况、找出性能的瓶颈;TUXEDO 还提供用户 日志 功 能, 使用户能 按自 己的需要记录必要的日志,或打印 一些调试 信息, 另外 系统管理员还可以从GUI 管理工具中检查用户日志; TUXEDO 内部还维护事务 的日 志, 在系统出现故障时作必要的善后处理。
三、 安全性
TUXEDO 的事务管理器通过一个结构化的安全接口提供应用服务的验证、 授 权 和访问 控制。该接口概括了Kerberos安全模型, 允许Kerberos或类似 的最 终 用户验证机制与应用集成。用户能用访问控制列表保护服务、队列或事件免遭未授权的访问。
1. authentication 合法用户的认证
TUXEDO 允许用户利用 Kerbros 或其他安全认证服 务,TUXEDO 内部提供对用户名、口令的加密。
2. authorisation 存取权限的控制
TUXEDO 的 ACL (Access Control List )机制可以控制用户可 存取的 资源,资源可以是服务、队列等。
3. encryption加密
TUXEDO还提供信息加密服务,允许对网络上传输的信息按RSA 的RC4 算法 加密。
四 、可用性
1. 动态配制和动态调试的支持
TUXEDO可以有效地管理消息流程和服务请求,启动和停止服务进程,根据变化的负荷复制服务进程,动态地广播、撤消服务进程中的服务。并且可以在客户不用退出执行的情况下,动态的增加新的机器、服务器组、服务器以及服务。利用命令行或图形管理界面TUXEDO还可以动态的进行负载平衡,数据依赖路由、网络用户的管理、队列的管理、存取资源管理器以及系统的启动、重启和恢复。
2. 服务和节点的故障恢复
TUXEDO随时知道它控制下的资源的情况,并利用这些信息为应用提供最大可用 性。TUXEDO在这种分布式系统故障恢复上具有优势。TUXEDO将重启服务进程,并且能在硬件故障情况下在其他节点上重新运行进程。
3. 通讯失败的自动恢复
按用户要求,BEA 公司可提供附加开发库,利用这些库开发的程序, 可在系统 的通讯失败时自动重新联接、重发请求等。
4.请求的重定向
TUXEDO可以利用一些参数,如超时,使资源管理器可以在不中断进程的情况下将出现故障情况的节点上的服务器及服务移植到其它结点上重新运行。如果一个节点上的某些服务器出现故障,TUXEDO还可自动地将客户的请求重新定向到可以完成相同服务的服务器上,使客户感觉不到变化。
五、 伸缩性
服务器(server)、服务(service)、节点(node)和客户(client)的动态增 加:TUXEDO支持“二维”的可 伸缩性,它不仅可动态增加同类资源的个数来提高 系统的性能和可用性,还可在结构上的任意位置 动态增加 不同机器、 不同数据库、 不同服务进程等异质资源, 而不改变已存在的应用的结构。 允许对一个复杂的混合 结构的支持,为联机网络系统提供了广泛的规模选择范围。任何与数据表示有关的 问题(如不同的处理器表示)可以由TUXEDO透明地解决。
TUXEDO 还可根据 系统负荷的变化动态地增加或减少应用服务器的个数。用户 可动态启动或停止服务;用户可使某些服务成为可用或不可用。用户可在一个配置中增加新的机器、数据库和服务进程组、服务进程器和服务。
六 、负载平衡
为了确保应用吞吐量最大,TUXEDO的事务管理器自动地在系统中完成动态负载平衡调度。通过使用每个服务的负载因子,事务管理器把请求发送给能最快处理该请求的服务器。事务管理器通过为当前排队的请求总计负载因子来决定给定服务器上的负载。
TUXEDO有以下几种负荷平衡的算法:
1。根据可动态改变的服务的负荷权重因子及网络通讯的权重因子,将请求发向总权 重最小的服务进程的请求队列。
2。利用多服务进程单队列(MSSQ)机制,使多个服务进程能均匀地分担单一队列的请求。
3。利用数据依赖路由机制,根据请求数据的内容将请求分散到相应目标队列。
4。 不做负荷平衡,由TUXEDO 系统将请求发向第一个可用服务进程队列。
七、 通讯服务
1. 通讯的协议
TUXEDO遵循TCP/IP通讯协议
2.通讯的信息的长度是否限制,限制是多少
TUXEDO 的信息的最大长度为 4 G 字节。
3.同步/异步通讯的支持
TUXEDO 既支持同步通讯方式又支持异步通讯方式。
6. 通讯的几种方式及如何实现
TUXEDO 的通讯方式包括: 同步请求/回答方式、异步请求/ 回答方式、 对话方式、 广播方式、管道线方式、队列方式、事件订约方式。
八、 队列
可靠队列服务 /Q:BEA TUXEDO提供了一个简单的可靠的队列机制,使应用 程序能将服务请求入队和出队,并可以设定系统,使队列中的请求自动地转发给TUXEDO 的服务进程。这种可靠性队列 作为一种资源管理器, 可以和 其他资源管理器如数据库协作,完成一全局事务。
BEA TUXEDO的对列服务使下列应用变得可能:
1) 工作流应用
2) 提交时间敏感型请求
3) 提交和完成要求确保完成的服务
4) 与BEA TUXED MIB和GUI的集成
5) 入队和出队请求的事务控制
6) 利用简单的服务镜像和数据镜像进行软件容错
队列服务提供给应用程序用于批处理和延时事务的实用程序。该选项通过维护LIFO、FIFO、用户定义的出队和所有原始的ATMI调用特性(如请求优先级或数据依赖型路由),为控制应用程序流提供了最大的灵活性。
1. 应用服务的队列和节点的传输队列的支持
TUXEDO 的服务进程维护有请求队列,是UNIX 的 IPC之一 message 来实现的。
此外,TUXEDO 提供单独的具有事务性质的可靠性队列 /Q,它是 基于磁盘存 储的的队列。
2. 对队列的保护(包括memory-based和disk based队列)
TUXEDO 的服务进程维护有请求队列,是TUXEDO 系统自身用 到的内部数据 结构,用户无法直接访问。
TUXEDO 的/Q 是一种资源,可以利用TUXEDO 得ACL (存取控制 列表)来控制 哪些用户才可存取。
3. 队列中信息顺序(如FIFO,LIFO,优先级,时间)
TUXEDO 的服务进程的队列可以按 FIFO 或优先级次序出队。
TUXEDO 的 /Q 的队列可以按 FIFO, LIFO,优先级次序或指定时间出队。
4.队列长度的限制
TUXEDO 的服务进程的队列长度受UNIX 系统内核的限制,可调整内核的 参数来改变服务进程的队列长度的最大长度,TUXEDO 在系统的队列不够 时,通过文件传输来发送消息。
TUXEDO 的 /Q 的长度仅受磁盘空间大小的限制。
5.对队列的管理
通过TUXEDO 的管理命令或GUI 管理工具, 可以对统计 服务进程队列的 长度,可以对 /Q 的队列做创建、 删除,定时转发, 按优先级转发等各种 管理操作。
综述
TUXEDO是世界上开放系统中最早开发,具有最大市场份额,经受最长时 间考验、 最可靠、性能最快的事务处理中间件。它支持最多的国际业界标准, 是最开放的中间件。 它具有最丰富 的通讯方式, 最简单的编程 API, 使应 用程序的开发 最简单。 它具有基于 普通 WEB 浏览器的图形化GUI 管理工具 和字符型管理命令, 使系统的 管理、监控非常简单。 用它编写的应 用程序很 容易维护及扩充,和其他系统具有良好的互操作性。
附:
以上所述TUXEDO 的功能为 TUXEDO Ver 6.3 所具有的功能, TUXEDO Ver 6.4 进一步完善了一些功能,我们将适时予以说明补充。