Tuxedo编程详解:异步调用与通讯方式
需积分: 9 156 浏览量
更新于2024-08-19
收藏 826KB PPT 举报
"异步调用-tuxedo编程"
在分布式计算环境中,Bea Tuxedo是一种强大的交易中间件,它提供了高效的服务导向架构,支持多种通信方式,包括异步调用。本文将深入探讨Tuxedo编程中的异步调用机制,以及与之相关的tpacall、tpgetrply和tpcancel函数。
1. Tuxedo概述
Tuxedo是BEA Systems(现已被Oracle收购)开发的一种事务处理监控系统,用于构建高性能、高可用性的分布式应用程序。它提供了一个名为ATMI(Application Transaction Management Interface)的接口,使得开发者能够方便地编写跨平台的C和C++应用程序。
2. 异步调用
异步调用是Tuxedo提供的通信模式之一,它允许客户端在发起请求后立即返回,无需等待服务器的响应。这提高了系统的并发性能,因为客户端可以继续执行其他任务,而不用被阻塞等待结果。异步调用的关键在于tpacall函数,它启动一个非阻塞的远程调用。
3. tpacall函数
tpacall函数用于启动异步服务调用。它接受服务名、服务操作、请求消息和超时值等参数,并返回一个事务ID(tid)。客户端可以立即继续执行其他操作,而服务请求将在后台处理。
4. tpgetrply函数
当客户端需要获取异步调用的结果时,可以使用tpgetrply函数。这个函数需要提供之前tpacall返回的tid,以便检索服务的响应。tpgetrply可以被设置为阻塞或非阻塞模式,如果在指定的超时时间内服务没有返回结果,它会返回错误。
5. tpcancel函数
在某些情况下,客户端可能希望取消一个正在进行的异步调用。这时,可以使用tpcancel函数,它接受tid作为参数,尝试取消对应的服务调用。请注意,不是所有正在执行的服务调用都能被成功取消,具体取决于服务的实现。
6. 缓冲管理
在Tuxedo中,消息通过缓冲区传递。客户端和服务端之间的通信涉及到消息的打包、解包和内存管理。异步调用时,这些缓冲区用于存储请求和响应信息,确保数据的正确传输。
7. 七种通讯方式
Tuxedo支持七种不同的通信方式,包括同步调用、异步调用、单向调用、请求-响应、通知、广播和多播。每种方式都有其特定的适用场景,异步调用尤其适用于高并发的环境。
8. 系统配置、监控、数据库连接和应用调试
Tuxedo提供了丰富的工具和配置选项,以适应各种复杂的系统需求。监控工具帮助管理员跟踪系统性能,数据库连接可以通过Tuxedo的数据库访问接口进行管理,而应用调试则能帮助开发者定位和解决问题。
9. BEA Tuxedo体系结构
Tuxedo体系结构强调服务为中心,而不是以SQL(数据)为中心。它包括了事务管理、负载均衡、高可用性、数据依赖路由、服务优先级、分布式事务处理、可靠队列、命名服务、安全性以及分布式应用管理等多个组件,以提供一个健壮且灵活的分布式计算平台。
总结来说,Tuxedo的异步调用机制是其高效能和高并发能力的重要组成部分。通过tpacall、tpgetrply和tpcancel函数,开发者可以构建出能够充分利用系统资源、响应迅速的分布式应用程序。同时,Tuxedo的丰富功能和架构设计确保了应用的可扩展性和可靠性。
2009-08-31 上传
2008-07-09 上传
2010-04-26 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-02-10 上传
2021-09-18 上传
顾阑
- 粉丝: 19
- 资源: 2万+
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍