[转帖]Tuxedo 学习心得(三)_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3759 | 回复: 0   主题: [转帖]Tuxedo 学习心得(三)        下一篇 
zhou
注册用户
等级:中校
经验:2210
发帖:125
精华:6
注册:2012-11-19
状态:离线
发送短消息息给zhou 加好友    发送短消息息给zhou 发消息
发表于: IP:您无权察看 2012-11-21 15:17:05 | [全部帖] [楼主帖] 楼主

一、tuxedo的负载

     1、负载均衡(Load Balancing):后台会有很多个服务进程,有的忙有的闲,当一个新的请求包到来的时候,tuxedo将其分给比较闲的进程处理。这个思想在很多的软件里都能看到。后台的每个server都是一个进程,在缺省的状态下,每个进程都有自己的接收队列和返回队列,也就是说每个进程都有自己的队列,这个队列存储来自客户端的请求,tuxedo的一些管理进程接到客户端的某个请求就会去寻找某个server,找到这个server之后,就把这个包丢到这个server的处理队列里面去。这个server就是这样不停地从队列里面取,处理,取,处理,就是这么简单的一个过程。但是这种方式会造成有的server处理的数据多,有的数据处理的数据少,怎么呢?大家可以供一条生产线,就是说,大家共用一条请求队列,即下面的第二条,多个进程一个队列机制

     2、多个进程一个队列(MSSQ),类似银行排队,能够使很多个server达到负载均衡。

     3、数据依赖路由(DDR),即依赖于数据的路由。一个数据包来了以后,将其投递到哪个目的地呢?取决于这个数据包里的内容。这个功能不管是tuxedo的DDR功能还是Oracle的分区表的功能,他们的目的只有一个就是解决越来越多的数据,越来越多的用户请求,用来构造大规模的或者超大规模的应用系统。tuxedo的DDR的应用,主要来自后台的配置。当然它要和开发结合起来,它要知道开发发出来的包的结构对应的在配置文件里进行配置。

     4、Server Priority (函数优先级):它是tuxedo对外提供的一种服务。它有个名字,如果想调某个函数,只要知道它的名字就行。执行tpcall调用那个service就行。不同的service他们有不同的优先级,优先级高的先处理。在队列里,根据的优先级的高低,会出现优先级低的饿死的情况,及优先级低的一直得不到处理。tuxedo为了解决这个问题,它就规定,每十个包,不管后面来的优先级的高低,肯定要先处理。

二、tuxedo的安全

     tuxedo一开始是没有考虑到安全性能,所有的安全都必须应用程序来考虑。其实目前为止,很多应用也都是在应用层来进行加密的。就是客户端和服务器之间它的通讯是加密的。加密可以在tuxedo的底层进行加密,也可以在应用层加密。传的包就是加密的,只有应用层才能解开,tuxedo这一块就无所谓了。

     tuxedo也提供加密手段,当然了,加密只是安全的一部分,安全包括比如对client端来说, (1)Authentication 认证,如帐号或者口令功能,如passwd之类。主要看用户是否合法。(2)Authorization(授权),即即使是合法的用户,并不是所有的资源都可访问。并不是所有的service都能调用。这一块tuxedo 10.0之后的版本有所增强。

     对于server端来说,几乎没有安全认证。就是说,如果是在同一台机子上的两个进程,他们都可以去读取tuxedo的资源。即,如果能够登录到tuxedo后台的服务器上,tuxedo在后台启动,tuxedo的共享内存块(BB),自己就可编一个程序去读取BB里面的每一个字节。是因为后台采取的是信任的机制(trusted)。这里的安全主要是指client端和server的通讯机制。

     对于client端和server端之间的通讯,tuxedo有一个底层的链路加密的模块,叫做LLE(Link Level Encryption),是数据链路层的加密,这个不是网络的链路,是tuxedo之间的链路,client端和server端之间包括server和server端之间(两台机子),tuxedo提供了一个标准的LLE加密模块。这个模块是按不同那个的lisence收费的。10.0版本又增加了一个SSL功能。同时,tuxedo这个安全框架里又提供了一些开放接口,第三方的安全认证机制的产品可嵌入到tuxedo里面去。

三、tuxedo的事务管理(Transaction Management)

     事务的特点:原子性,完整性等,要么完成成功,要么完全失败。如转账。银行通常是先减钱再加钱。事务处理功能是数据库的基本功能,即,简单的事务是由数据库来完成的,由数据库的功能来保证他的完整性,和 tuxedo没关系。但如果事务比较庞大,超越了他的范围,如,一个事务包含了多个数据库,在tuxedo这一端,它提供了一个TM(事务管理者)来进行分布式事务处理功能,他可以跨数据库进行事务处理。建议使用一个数据库,分布式的效率是低下的,而且使用多个数据库是问题复杂化。故,在设计架构的时候尽量避免分布式体系架构,少数不可避免的再使用。

     tuxedo支持XAprotocol

四、tuxedo的配置和管理

     tuxedo是集中式的配置和管理

    集中式的配置:一个domain(域)里面只有一个配置文件,如果tuxedo配置有多个计算机的集群系统,那么他也是一个配置文件,有一台主计算机控制着这个域,所有的domain都在主计算机里面做。

     集中式的管理:一个tuxedo应用系统就是一个domain,在集群的环境下,比如有两台计算机,一台是主机(master machine)所有的管理都是在主机上,启动关闭tuxedo都是在主机上,对应的从机(非主机)他上面的server可由主机来控制。控制命令都是来自主机。

     一个tuxedo的domain是一个tuxedo应用,与weblogic 的domain一样,是一个业务软件的程序。tuxedo的domain基于tuxedo系统,即有一个集中式的单一的配置文件所定义和管理的一套系统。这个domain最简单的可以是一台机器,也可以是多台机器。tuxedo支持ATMI和CORBA

     BBL是一个进程,BB是共享内存,在MP(集群)模式下,还需要一个DBBL,即一个系统管理进程。彼此之间是通过bridge进程互联。

     不同的domain之间通过domain网关gateway互联。domain对分布式结构非常有好处的。

五、应用管理

     tuxedo是unix下的一个产物,他做Application Administration就有他自己的命令行管理工具和图形界面的管理工具。

命令行的管理工具可以启动系统,可启动和关闭部分或者全部的应用服务,监控和查看一个运行系统的运行状态




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论