中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

EJB2.0系統中什么時候需要使用messaging或者RMI/IIOP

發布時間:2021-11-30 17:12:31 來源:億速云 閱讀:136 作者:小新 欄目:編程語言

小編給大家分享一下EJB2.0系統中什么時候需要使用messaging或者RMI/IIOP,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

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時,
需要跟蹤它們的努力也是最小的。

看完了這篇文章,相信你對“EJB2.0系統中什么時候需要使用messaging或者RMI/IIOP”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六盘水市| 环江| 包头市| 凌海市| 宁德市| 民乐县| 高碑店市| 新余市| 澄城县| 商都县| 宝清县| 张家界市| 九龙坡区| 喀什市| 罗甸县| 福泉市| 清新县| 赣榆县| 额济纳旗| 叶城县| 全州县| 资讯| 蒲城县| 涞源县| 鄂伦春自治旗| 崇礼县| 大兴区| 敦化市| 贡觉县| 东兴市| 常山县| 鱼台县| 壤塘县| 龙山县| 大石桥市| 扎兰屯市| 凌海市| 聂荣县| 抚顺县| 尼木县| 甘南县|