分享
 
 
 

EJB2.0系统中什么时候使用messaging或者RMI/IIOP

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

EJB2.0系统中什么时候使用messaging或者RMI/IIOP

以下几条是messaging的优势,和你需要去使用它的原因:

1.数据库性能。如果你去完成一个关系型数据库工作,如

对一个数据库持久化一个定单,使用messaging更有优势。

传送一个消息到一个二级消息队列去被晚些时候处理减轻了

在高峰时刻的主数据库压力。在早上负荷较低的早上,当

通信量比较小时,你能在消息队列中取出并处理那个消息

,并把定单插入到数据库中。注意这只是在用户无论他的操

作成功与否都不需要马上的回答时起作用,如检测他的信用卡。

2.快速反应。一个客户可能不想去被阻塞并去等待一个不存在的

反映。对于返回void值的方法,只可能什么都不返回或返回一个

异常。如果客户没有预料会收到一个异常,为什么非得要会被阻

塞得到一个反应?messaging允许客户去处理其他事情,当他被

阻塞得到一个方法的返回。

3.平滑的负载平衡。message-driven beans比session和entity

bean更加平滑的分布负载。用session和entity bean,一个负载

平衡算法聪明的猜出哪一个服务器负载更小。用messaging,负载

最小的服务器自己请求message来得到那个message。

4.请求优先。异步服务器能排队列,设置优先级,并用与meaasge

到达系统不同的顺序来处理它们。有一些消息系统允许消息按照

商业规则来被设置优先级来被排序。举个例子,在一个军用坦克

中,如果所有的对系统的请求都被发送到集中分发队列来异步,

那么开炮的命令被排在100个通信消息之后可能带来灾难。在军用

系统中,在通信消息前先处理开火控制和安全消息将更有优势。

一个设置了优先级的队列允许在队列中的消息重排来计算坦克中

开火控制的紧急性。

5.快速的集合分离的系统。许多已有系统是建立在面向消息的中

间件之上的,并能够很容易的用messaging来和你的J2EE系统交互。

messaging为商业处理和必须互相通信的分布式节点系统提供一个

快速开发环境。

6.松耦合系统。messaging可以使应用程序之间松散耦合。应用程序

在他们被编译时无需知道对方。这使你有“动态发现”的应用程序

,可能在快速变化、面向服务的商业环境下有用。

7.并行处理。messaging是一个在EJB发布中使用伪线程的的方法。

你能启动一系列消息并继续处理,和分布式的启动许多线程一样。

8.可靠性。messaging被使用即使服务器当掉。系统级的错误(如

数据库当掉了)通常不会影响操作的成功,因为消息仍在队列中

直到系统级的错误被解决。

9.多对多通信。如果你有许多团体一起互相通信,messaging是

合适的,因为它使许多生产者和消费者互相协作,而RMI/IIOP

是单源单目的的请求模型。

以下是你不应使用messaging的情况:

1.当你不确定操作是否成功。RMI/IIOP系统能抛出异常,而

message-driven bean不行。

2.当你需要返回结果。RMI/IIOP系统能马上返回结果,因为

请求是被立即执行的。相反,你能最终通过messaging返回结果,

不过这很让人郁闷:你需要发送分隔的返回消息,并用初始

的客户端来监听它们。

3.当你的操作是一个更大的一个事务的一部分。当你向目的地

发送一个消息,接收到的message-driven bean不能处理其他的

消息直到一个将来的事务。这对你需要这个操作是一个单独的,

原子的,要处理其他操作的一个事务的一部分来说是不合适的。

举个例子,当你操作一个银行帐户传送,这时候使用RMI/IIOP

来向一个银行帐户存钱是个坏主意,用messaging来取钱也一样,

因为取钱可能失败。

4.当你需要把客户的安全ID传给服务器。因为messaging不把

客户的安全ID传给接收的message-driven bean,你不能容易的

保证你的商业操作的安全性。

5.当你关心请求性能。messaging天生的比RMI/IIOP慢,因为

有一个在发送者和接收者之间的中介人(JMS)。

6.当你需要一个强类型,OO的系统。你通过使用messaging API

如JMS来发送消息。这是一个平滑的API而且不是面相对象的。

当你想要完成不同操作,服务器需要crack打开的消息,或

把它滤掉。与之相比,RMI/IIOP让你基于你想操作的商业操作

来调用不同的商业方法。这个更直觉;也更容易做编译时的

语意检查。

7.当你需要更紧密,更直接的系统。同步发布比messaging

更直接。你有巨大的自由什么时候发送数据类型,和你需要写

的和messaging比较最少的代码量。调试也更直接。当使用

完全同步的服务,每个客户端控制线程有一个单独的能被跟

踪的从客户端到服务器的路径,相反亦然。当系统有bug时,

需要跟踪它们的努力也是最小的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有