久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 實時SOA從消息總線開始

實時SOA從消息總線開始

作者: 時間:2016-12-15 來源:網絡 收藏

基于內容的過濾器從內容上對信息進行簡化處理。舉例來說,一個顯示程序可能只關心接近機場的飛機位置?;趦热莸倪^濾器就會篩選出所有離機場很遠的飛機。

本文引用地址:http://cqxgywz.com/article/201612/330174.htm

3. 性能提升技術
一輛無論構造多么合理的汽車,如果沒有強力的引擎就不可能發揮出優良的性能。同樣,消息中間件也需要一些特征與技術以獲得最佳性能。其中以下方面最為重要:組播技術、消息批處理功能、消息分段技術、異步遠程拷貝和傳送過程中的零拷貝訪問。

4. 實時判定機制
實時并不是簡單的速度快而已。為實現穩定的實時,系統必須同時穩定而高速。實時判定機制決定了每次系統運算時的穩定性。一個實時判定系統必須在每個運算上花費同樣的時間。
然而,并不是你做的那些事決定實時操作能力,而是你不做的那些事決定了實時操作能力。因此,實時的滿足需要處理器、資源定位和管理上的穩定性與一致性。內存分配、等待周期、關閉中斷或者其它的任何程序操作都會引發無法預料的行為。為保證穩定性,每個操作必須以同樣的方式同樣的時間進行。對于一個包含多個步驟的操作,每一步都必須是可靠的,因為其中可能包含不可靠的信息。如果某一步是不可靠的,那整個操作鏈都會變為不可靠的。
因為基礎硬件設施一般都是非常穩定的,因此系統的不確定因素源一般在操作系統、中間件或應用邏輯/代碼中。實時操作系統是一項大受好評的技術。應用程序必須本著傳送穩定結果的理念進行設計。然而,在許多系統中,中間件是實時運算的關鍵。
這意味著在實際應用中消息中間件必須:

  • 使用異步操作技術而非阻塞操作。多線程技術為并發和多核架構提供了機會。
    使用多線程技術并發處理緊急任務。仔細挑選架構與優先技術以避免線程沖突,并使用看門狗(watchdogs)和延時設定(timeouts)監控和維持應用程序正常運行。
    在穩定的基礎設施上執行(實時操作系統、實時Java虛擬機,實時中間件組件)。
    謹慎地控制資源??刂苿討B內存的使用,限制關鍵路徑外的內存分配。
    進行任何存儲訪問時盡量使用內存緩存而非直接進行磁盤操作。
    為中間件的可編程應用擴展提供“進程內(in-process)”機制,比如加載DLL文件或Java類。

5. 度量指標
可以認為,優秀的度量指標是決定中間件最終性能的唯一條件。然而,定義消息中間件的特征遠比看起來復雜得多。
大多廠商只提供一些關于消息處理能力的信息,類似每秒處理多少消息或字節等。還有少數廠商提供關于延遲的測試數據(從發送方到接收方的端對端延遲)。幾乎沒有廠商會提供關于可擴展性和不穩定同步的度量指標,包括隨著系統發展性能的變化、負載增加,或者消息之間的變更。并且,這些結果很大程度上依賴于計算機和網絡硬件設施,以及測試方案。
比如,廠商可能會提供關于執行時間和處理能力的數據,聲稱他們的產品可以以低于0.5毫秒的時間完成一條消息的傳送,并可以每秒傳送1000000條消息,但并不會指出是否可以用一個應用程序同時完成這兩項任務。甚至,都不會指明這個執行時間是否代表理想情況下的最佳性能,是平均時間還是可以保證大部分消息(比如99.99%)在這個時間內傳送等。消息容量和內容類型(不透明的字節、字符串或復合類型)都有極大的影響。比如,如果指的是沒有實際意義的四個字節的消息,“條/秒”也就沒多少參考價值。如果不考慮類型轉換(marshaling,一種稱為列集轉換方式),每秒多少字節的數據也沒有意義。比如,傳送raw XML字符串的低效率數據轉換方式可以每秒傳送許多字節。然而,使用經過壓縮處理的XML語言或二進制格式的高效轉換方式在傳送實際消息時要快得多。這種例子數不勝數。
既然不存在標準的實時中間件性能的測試程序,我們就只有以下選擇:依靠廠商給的數據,開發自己的度量標準,以及通過使用中間件的應用程序來進行判斷。第一個過于模糊,第二個費時且成本高,而第三個是主觀判斷。
通過上面的說明,了解以下指標可能會有助于評估中間件的性能,并可最低限度地從提供實時SOA系統的廠商處獲得如下信息:基于消息容量的處理能力、基于CPU使用情況的處理能力、消息批處理能力和基于穩定性的最佳表現;基于消息內容的執行時間、基于處理能力的執行時間等。
比如,圖3到圖7顯示了兩種不同中間件架構處理能力與執行時間的比較圖:一個星型構架(JMS)和一個對等結構的網絡(DDS)。
可以參考由RTI Data Distribution Service(運行環境數據分發服務)提供的更多詳細的數據。運行平臺是使用2GHz雙核AMD皓龍的計算機,操作系統是紅帽Linux4.0企業版。


圖3


圖4


圖5


圖6


圖7


總結

要想贏,就必須給賽車安裝最好的組件。同樣,性能關鍵的SOA系統也必須建立在消息處理、事件處理引擎和數據庫的最佳組合上。在這些SOA基礎組件中,消息中間件是最重要的,因為它是所有其它組件的交互中介。
如何確定最好的中間件呢?
首先,考慮架構。選擇最符合需求的架構。架構不合適,系統就不可能有優良的表現性能。
其次,選擇滿足需求的服務質量控制。對網絡和數據傳送的有效控制將極大地影響到所有組件的工作效率。
第三,選擇適合應用程序的、包含性能提升技術的中間件。比如組播技術,就可以在同等負載下極大地提高網絡的“扇出(fan out)”能力。
第四,如果系統必須在一定狀況下保持性能穩定,那就在設計方案中保證至少關鍵組件可以在這些實時環境中穩定運行。沒有其它可以保證系統穩定響應的途徑。
最后,基于以上了解,選擇包含對應用程序最為重要的指標的中間件。
明白了以上所有因素,你就離建立最佳性能的SOA系統更接近了一步。


上一頁 1 2 下一頁

關鍵詞: 實時SOA消息總

評論


技術專區

關閉