Tuxedo介绍

1、Tuxedo介绍                                                                                  

Tuxedo 是什么

  Tuxedo是BEA公司(现已被Oracle公司收购)的一个客户机/服务器的中间件”产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。它用C语言技术开发的并且有很高性能。

  TUXEDO是在、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。 

 Tuxedo 的主要作用是

  屏蔽分布式环境中各种通信协议、硬件体系结构、操作系统、数据库和其它应用服务等方面的差异,使分布于网络节点上的应用程序的各个单元部件之间能够进行互操作,并协调操作的一致性和完整性,最大限度地节省系统资源,提高系统性能。

  * Tuxedo 已经广泛地应用于金融、电信、制造业等各行各业的核心业务系统。



三层架构

 从左边往右依次为:客户端层(表现层),中间件服务层(业务逻辑层),数据库服务器层(数据层)。这种典型的三层架构应用非常广泛。对于应用weblogic中间件的系统一般采用的B/S架构,绝大部分采用HTTP协议,少量的系统用java编写的客户端,使用的是RMI 协议,或J2EE里的其它协议。
对于tuxedo中间件使用的是tuxedo协议,前端开发工具可以是各式各样,VC++ 、java 、Delphi 、VB 等。


Tuxedo 的通讯过程



Tuxedo 服务器处理请求的方式与apache有本质的区别。


  Apache服务器处理请求,由客户端发出请求到服务器,由服务器对请求进行处理后将数据返回给客户端。


  Tuxedo 服务器一次请求需要两次进行两次交互,Tuxedo有两个负责通讯的进程,一个为WSL,WSL的数量可以进行配置,典型的配置一般两、三个;WSH可以有N多个。客户端通过IP地址和端口号与WSL建立连接,由WSL认证请求是否合法,在WSL的响应中包含了另外一个IP地址和端口号;然后,客户端通过拿到的新的IP地址和端口号去请求WSH 。


  客户端程序由GUI 与 Tuxeo通讯两部分组成,GUI部分主要由开发人员关心如何设计,通讯部分可能设计成几个函数供开发人员调用。对于性能测试人员可能更关心客户端与服务器之间的通讯过程。


2、tuxedo相关概念

IPC: Inter-Process Communication  进程间通信: 管道、信号量(semaphore)、共享内存(shared memory)、消息队列(Message Queue)。

管道是UNIX系统IPC的最古老形式,数据只能单向流动。

Tuxedo在客户机和服务器通信中大量使用UNIX系统的消息队列。
  SSSO(Single Server Single Queue)模式:每个客户机都有一个响应队列来接受客户端请求。
  MSSO(Multiple Server Single Queue)模式:多个服务器共享同一个请求队列。

信号量包含一个计数器,表示某个资源正在被访问和访问的次数,用来控制多线程对共享数据的访问。

Tuxedo使用共享内存存储公告牌,用来公告进程状态信息和需要在进程间共享或传递的数据。

-------------------------------------------------------------

Tuxedo的配置文件称为UBBCONFIG或ubb,包含了域(Domain)、逻辑机器(Machine)、服务器组(Group)、服务进程(Server)、服务(Service)的定义。运行前,需要把UBBCONFIG装载成二进制文件,称为TUXCONFIG。

Tuxedo服务启动时,执行tpsvrinit()函数,可以打开一些如数据库之类的资源供以后使用
Tuxedo服务停止时,执行tpsvrdown()函数,关闭资源
服务程序调用tpreturn()函数来结束服务请求,并返回一个缓冲区,必要时,将它传给客户程序。

--------------------------------------------------------

ATMI环境支持的C/S通信方式:请求/应答式通信、回话通信、队列通信、事件代理通信、消息通知
    请求/应答式通信:同步调用(tpcall)、异步调用(tpacall)、嵌套调用、转发调用(tpforward)
                       转发调用和嵌套调用类似,不同的是最里层的嵌套服务可以直接给客户程序一个响应,而不必按照调用栈 逐级返回。


   回话方式:tpsend()/tprecv()  基于事件,分通告和代理
              void (**p)(): 定义了一个指向函数指针的指针p
              tpsetunsol(p) : 将p指向的函数func设置为客户机的事件处理器。
              tpchkunsol(): 检查意外事件

    事件代理: tppost()/tpsubscribe()  消息发布/订阅
                Tuxedo提供了两个事件代理器(TMUSREVT  TMSYSEVT)来处理订阅请求。

    队列存储: tpenqueue() / tpdequeue()
              Tuxedo/Q用到了Tuxedo提供的两个服务器:消息队列服务器(TMQUEUE)和消息转发服务器(TMQFORWARD)

---------------------------

多系统多机之间通信需要每台机器上都有一个Bridge进程,通过TCP/IP通信,Bridge进程维持一个长连接,一旦建立不会断掉。

TUXEDO应用系统的客户端访问TUXEDO服务器上的服务的过程图:



说明:
WS(Workstation Extension Product)用于指TUXEDO产品的客户端部分
WSC Workstation Client
WSL(Workstation Listener) TUXEDO系统自带的一个SERVER,它侦听一个指定的端口,WSC最初与该SERVER建立连接
WSH(Workstation Handler)TUXEDO系统自带的一个SERVER,由它处理WSC与TUXEDO SERVER之间的通讯。
Bulletin Board(公告板)TUXEDO把系统的配置保存在一个共享内存中,该共享内存称为公告板(BB)
BBL TUXEDO的管理进程,主要对公告板等进行管理

Workstation Client与TUXEDO SERVER建立连接的过程为:
1.    WSC 调用tpinit()或tpchkauth()
2.    WSC采用在WSNADDR中指定的IP地址与服务端的WSL建立连接
3.    WSL为该WSC指定一个WSH,并把该WSH的侦听端口返回给WSC
4.    WSC采用返回的端口与指定的WSH建立连接,并与WSL断开连接,这之后WSC与TUXEDO SERVER之间的通讯通过WSH进行处理,与WSL无关。
5.    tpinit()或tpchkauth()调用返回。

----------------------------------------------------------

单域模式Single-Domain Model。单机模式 Single Host Model, 多机模式Multi-Processor Model
多域模式Multi-Domain Model

  • 20
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Tuxedo是一个为了在Linux操作系统上提供更好的平台硬件支持而开发的软件包。其安装相对较简单,下面是关于如何在Linux上安装Tuxedo的步骤: 1. 首先,确保你已经在Linux上安装了Tuxedo所需的依赖项。这些依赖项包括GCC编译器、GNU make、C/C++编译器和标准C库等。你可以使用软件包管理器来安装它们,例如在Ubuntu上使用apt-get或在Fedora上使用dnf。 2. 访问Tuxedo的官方网站,下载最新版本的Tuxedo软件包。确保下载适用于你的Linux发行版的版本,例如Ubuntu、Fedora或CentOS等。 3. 解压下载的Tuxedo软件包。你可以通过在终端中运行以下命令来完成解压缩: ``` tar -zxvf tuxedo-<version>.tar.gz ``` 4. 进入解压后的Tuxedo目录。你可以使用以下命令切换到目录: ``` cd tuxedo-<version> ``` 5. 运行配置命令以配置Tuxedo的安装选项。你可以使用以下命令运行配置: ``` ./configure ``` 6. 如果配置成功,运行编译命令来编译Tuxedo源文件。使用以下命令进行编译: ``` make ``` 7. 最后,运行安装命令来安装Tuxedo。你可以使用以下命令进行安装: ``` sudo make install ``` 完成后,Tuxedo将成功安装在你的Linux系统上。你可以通过运行相应的Tuxedo命令来验证安装是否成功。 总结来说,安装Tuxedo在Linux上是一个简单的过程。你需要下载Tuxedo软件包,解压缩并配置它的安装选项,然后进行编译和安装。确保你的系统满足Tuxedo的依赖项,并按照步骤进行操作,你将能够在Linux上成功安装Tuxedo

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值