tuxedo应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*SERVICES
*SERVICES "ATMPH_SVC" LOAD=50 PRIO=50 BUFTYPE="ALL" TRANTIME=30 AUTOTRAN=N "EA_NB_IN" LOAD=50 PRIO=50 BUFTYPE="FML32" ROUTING="BRANCH" TRANTIME=30 AUTOTRAN=N
jolt请求:FS(服务端)的配置
#ECTIP AP接入JOLT访问 JSL SRVGRP=TRAN0 SRVID=1000 RESTART=Y MAXGEN=10 CLOPT="-A -t -- -n //128.192.151.12:5005 -m 10 -M 100 -x 10 -T 1440 -K both"
以实例切入: 剖析TUXEDO配置
文件服务器的一个tuxedo应用 -->ectip_adapter 路径:/home/ap/ectip/ectip_adapter bin目录:存放编译好的tuxedo程序 setenv文件 :存放tuxedo配置的环境变量的文件 etc目录:存放配置文件的目录 etc/adapter_ubb : tuxedo系统应用配置文件,它 的作用好比config.xml对weblogic的作用,所有基 本配置都在这个文件完成。 etc/tuxconfig:这个文件是adapter_ubb通过编译 而成的二进制文件,实际上tuxedo服务启动时是 加载这个文件(通过命令tmloadcf 转换)
jolt请求
java代码截取片段:
SessionPoolManager sPoolManager = SessionPoolManager.poolmgr; SessionPool joltPool=sPoolManager.getSessionPool("VSTux edoPool"); Result result=joltPool.call("serviceName",new DataSet(),null);
系统配置文件:adapter_ubb
具体信息包括: 系统范围信息(*RESOURCES节) 应用级的配置参数, 必须项。 机器信息(*MACHINES节)紧随在*RESOURCES之后, 定义了当前应用中的主机信息,是必须项。 组信息(*GROUPS节)是服务器的逻辑组合,可部署的 最小的逻辑单元,也是必须项。 服务信息(*SERVERS节)定义要部署的服务进程信息。 交易信息(*SERVICES节)定义了与有名服务相关的信 息,一般可以被忽略 网络组信息(*NETGROUPS节) 网络信息(*NETWORK节) 路由原则信息(*ROUTING节)
基本概念- gateway group
基本的程序架构
CLIENT
BB
SERVER
BBL
通讯方式
• 同步请求/回答方式 tpcall() • 异步请求/回答方式: tpacall(),tpgetrply() • 对话方式: tpconnect(),tpsend(), tprecv(), tpdiscon() • 广播通知方式: tpbroadcast(), tpnotify(), tpchkunsol(),tpsetunsol() • 管道方式 : tpforward() • 队列方式 : tpenqueue() ,tpdequeue() • 事件订阅方式: tpsubscribe() ,tppost()
两种案例
• 一,交易平台作为客户端,FS作为服务端 做jolt服务请求 • 二,FS作为作为客户端,往交易平台发请 求
jolt请求
1,在weblogic上配置jolt连接池 <jolt-connection-pool> <name>VSTuxedoPool</name> <target>AppServer2,AppServer1,AppServer3,AppServer4 </target> <primary-address>//128.192.151.12:5005</primaryaddress> <failover-address>//128.192.151.12:5005</failoveraddress> <minimum-pool-size>10</minimum-pool-size> <maximum-pool-size>20</maximum-pool-size> <recv-timeout>80</recv-timeout> </jolt-connection-pool>
*MACHINES
"T260N1M2" LMID="SITE1" //与resource节点的master对应 Leabharlann BaiduUXCONFIG="/home/ap/ectip/ectip_adapter/etc/tuxconfig" TUXDIR="/home/mw/tuxedo/tuxedo10gR3" APPDIR="/home/ap/ectip/ectip_adapter/bin" TLOGDEVICE="/home/ap/ectip/ectip_adapter/etc/TLOG" TLOGNAME="TLOG" TLOGSIZE=100 //指定分页数的最大数量 ULOGPFX="/home/ap/ectip/ectip_adapter/log/ULOG" MAXWSCLIENTS=1000 //最多允许工作站客户端的连接数量 CMPLIMIT="MAXLONG,MAXLONG" //压缩阀值 SICACHEENTRIESMAX="500" //指定当前主机上可以分配的 service入口缓冲数
jolt请求
adapter.xml的配置: <adapter name="JoltAdapter">^M <property name="poolName" value="EctipTuxedoPool"/>^M <property name="poolName2" value="VSTuxedoPool"/>^M </adapter> <node ID="Ts" class="com.ccb.ectip.comm.adapter.ts.TsAdapter" adapter="JoltAdapter">^M <control class="frame.comm.Adapter.AdapterControl">^M </control>^M </node>
*SERVERS
*SERVERS #ECTIP AP接入JOLT访问 JSL SRVGRP=TRAN0 //所属组名 SRVID=1000 //server id RESTART=Y // 服务挂死是否自动重启 MAXGEN=10 //重启的最大次数 CLOPT="-A -t --n //128.192.151.12:5005 -m 10 -M 100 -x 10 -T 1440 -K both"
多域的配置:adapter_dom
• • • • • • • • • • • *DM_RESOURCES 定义全局的域配置信息 *DM_LOCAL_DOMAINS 别名:DM_LOCAL,用于定义本地域网关的访问点 *DM_REMOTE_DOMAINS 别名:DM_REMOTE,用于定义远程域网关的访问点 *DM_TDOMAIN //为本地和远程网关指定IP地址和端口 *DM_LOCAL_SERVICES 别名:DM_EXPORT,用于定义本地域导出的服务 *DM_REMOTE_SERVICES 别名:DM_IMPORT,用于定义远程域导入的服务
etc/adapter_dom: tuxedo 的多域配置文件。域与域之间的关 系是通过这个文件来配置的。多域下面的tuxedo服务 有3个重 要的进程 DMADM 、GWADM、GWTDOMAIN. etc/domconfig: adapter_dom对应的通过编译转换成的二进制 文件。通过命令dmloadcf进行编译。 etc/fml/cofml.fml: 由于ectip 的客户端与服务端之间通讯数据 传输格式采用的数据缓存类型为FML,所以在应用里需要配置 一个fml文件,定义用到的传输字段,类似于ectip 交易平台的 数据字典。
*RESOURCES *RESOURCE
*RESOURCES IPCKEY 32789 //IPC资源的标识符,公告板的入口地址 MASTER "SITE1" //指定了作为主节点的逻辑主机标示 UID 501 //用户ID GID 20 //组ID PERM 0666 //IPC资源访问权限 MAXACCESSERS 5000 //最大的访问数 MAXACLGROUPS 16384 //最大的访问控制列表组数量 MAXGTT 100 //最大并发全局事务数 DOMAINID "ECTIP_ADAPTER13514" //管理域的表示符 MAXGROUPS 100 //最多可以配置资源组的数量 MAXNETGROUPS 8 //最多可以配置网络组的数量 MAXMACHINES 256 //最多可以配置的机器的数量 MAXQUEUES 2000 //最多的服务器请求队列数 MODEL SHM // 应用的配置模式(SHM单机模式)(多 机模式) LDBAL Y //指定是否启用负载均衡算法
*ROUTING
"BRANCH" FIELD="BRANCH_ID" RANGES="*:THR000" BUFTYPE="FML32" TYPE=SERVICE 这个配置的意思是: 从请求缓冲区中缓冲类型为FML32的请求,如果 取得有字段名为"BRANCH_ID" ,则这个请求给 分配到服务进程THR000中去
*GROUPS
*GROUPS "LDMGRP" LMID="SITE1" GRPNO=20 TMSCOUNT=3 //组名,所属主机,组号,TMS个数(事 务监控) "LGWGRP01" LMID="SITE1" GRPNO=101 TMSCOUNT=3 "TRAN0" LMID="SITE1" GRPNO=50 TMSCOUNT=3 "THR990" LMID="SITE1" GRPNO=92 TMSCOUNT=3 "MUTIPAGE_GROUP" LMID="SITE1" GRPNO=100 TMSCOUNT=3 "RMS_GROUP" LMID="SITE1" GRPNO=200 TMSCOUNT=3 "POS_CTL_GRP" LMID="SITE1" GRPNO=300 TMSCOUNT=3
TUXEDO简介
基本概念-tuxedo
目前属于oracle旗下的产品,是一种针对联机业务系统而设计的交易 中间件。像银行,电信计费等需要联机处理的系统大多都会选用 tuxedo作为其中间件平台。所以,作为金融领域的IT人,学习和了解 tuxedo是有必要的。
特点: 1,名字服务和位置透明性 2,强大的C/S通讯功能 3,强大的联机交易性能 4,强大的分布式事务协调能力 5,完善的负载均衡机制 6,数据依赖路由 7,请求优先权 8,容错和透明故障迁移 9,安全性和可管理性 10,开放性和易用性
TUXEDO的数据缓冲区类型
• • • • • • STRING CARRAY VIEW(VIEW32) FML(FML32) XML MBSTRING
基本的程序框架 – 同步通讯
客户端 服务端
main() { tpinit(…); tpcall(“service”); tpterm(); }
service() { doProcess ; tpreturn(….); }
详解命令行参数
-A 表示server启动时,自动在BB中登记所包含的services。 -t 低版本的客户端连高版本的server端 -n 接入点为 HOST/IP:PORT, 与客户端WSNADDR环境变量相同。 -m 表示这个JSL fork出最少的JSH个数(初始值) -M 表示这个JSL fork出最多的JSH个数 -x 表示每个JSH同时处理多少各client的连接。 (请求队列的长度) -T 表示client端连上server连接后, 如果30秒没有交易请求,自动关闭连接。 -H 使用防火墙的外网地址。 -p -P 防火墙接入点所用的端口号范围。 (客户端WSNADDR要与外网地址一样)