最近中文字幕完整版高清,宅男宅女精品国产av天堂,亚洲欧美日韩综合一区二区,最新色国产精品精品视频,中文字幕日韩欧美就去鲁

首頁(yè) > 考試輔導(dǎo) > 計(jì)算機(jī)考試 > 程序開(kāi)發(fā)類(lèi)認(rèn)證 > BEA認(rèn)證 > WebLogic Real Time簡(jiǎn)介

WebLogic Real Time簡(jiǎn)介

        摘要

  bea weblogic real time (wlrt)服務(wù)器提供了一種基于java的基礎(chǔ)架構(gòu)來(lái)滿足實(shí)時(shí)處理需求。這在java領(lǐng)域中是比較少見(jiàn)的:按照實(shí)時(shí)需求處理請(qǐng)求,而不是只要求j2ee服務(wù)器可運(yùn)行且可靠即可。使新特性成為可能的關(guān)鍵組件是jrockit java virtual machine (jvm)。本文將介紹bea weblogic server與bea jrockit的完美結(jié)合,并提供一些實(shí)時(shí)計(jì)算的基礎(chǔ)知識(shí)。在文章的末尾,我們將簡(jiǎn)要介紹與weblogic real time相關(guān)的用例。

關(guān)于實(shí)時(shí)

  在開(kāi)始討論weblogic real time之前,我們必須首先思考一下該產(chǎn)品中的兩個(gè)單詞的意思:“real”和“time”。關(guān)于“實(shí)時(shí)”(real time),存在著許多種定義,許多文章也描述了不同的概念——第一個(gè)java specification request (jsr 1)甚至就是專門(mén)針對(duì)此主題的。然而,實(shí)時(shí)的定義并不是一成不變的。沒(méi)有人可以給出一個(gè)確定的定義,說(shuō)明到底什么是實(shí)時(shí)以及如何確定它,但是似乎大家都認(rèn)為,如果看到實(shí)時(shí),自己就會(huì)知道了。為了更好地說(shuō)明實(shí)時(shí)的概念,我們將引入幾個(gè)常見(jiàn)的定義。根據(jù)douglas jenson對(duì)實(shí)時(shí)的討論,存在兩種類(lèi)型的實(shí)時(shí):“軟”實(shí)時(shí)和“硬”實(shí)時(shí)。

硬實(shí)時(shí):定義了一個(gè)系統(tǒng),其中所有可調(diào)度和不可調(diào)度的實(shí)體的執(zhí)行都要遵守規(guī)定的完成時(shí)間約束。其它時(shí)間約束(也稱為“上界”)可能也必須滿足。實(shí)體的行為和運(yùn)行時(shí)間是可預(yù)測(cè)的、確定的。 軟實(shí)時(shí):表示不屬于硬實(shí)時(shí)的所有其它實(shí)時(shí)情況。所有時(shí)間約束都是軟性的;旧希@就意味著所有可調(diào)度和不可調(diào)度的實(shí)體都可能被優(yōu)化以便以最佳狀態(tài)執(zhí)行,但是執(zhí)行時(shí)間不可預(yù)測(cè)。

  在一個(gè)硬實(shí)時(shí)系統(tǒng)中,必須遵守時(shí)間期限,否則計(jì)算結(jié)果就會(huì)無(wú)效。例如,考慮汽車(chē)中的嵌入式系統(tǒng)。如果您要加速,而電子加速器的響應(yīng)延遲了,那么就會(huì)得到無(wú)法預(yù)料的行為。而如果剎車(chē)系統(tǒng)延遲了,就會(huì)導(dǎo)致可怕的后果。軟實(shí)時(shí)系統(tǒng)中的定時(shí)約束沒(méi)這么嚴(yán)格,甚至在超出了時(shí)間約束之后,計(jì)算結(jié)果也可能仍然有用。
音頻流就是一個(gè)軟實(shí)時(shí)系統(tǒng)的例子。如果一個(gè)數(shù)據(jù)包延遲或丟失了,音頻的質(zhì)量會(huì)降低,但是流可能依然有效。

  為了保證滿足實(shí)時(shí)系統(tǒng)的定時(shí)需求,底層計(jì)算系統(tǒng)的行為和計(jì)時(shí)必須是可預(yù)測(cè)的。一個(gè)可預(yù)測(cè)的定時(shí)系統(tǒng),其所有操作所需的時(shí)間必須是有限制的。這意味著所有操作在最壞情況下的定時(shí)是已知的。實(shí)時(shí)系統(tǒng)通常都是用多個(gè)異步線程實(shí)現(xiàn)的。這是因?yàn)樗麄兺ǔP枰憫?yīng)事件以及控制異步設(shè)備。

  另一個(gè)常見(jiàn)需求是優(yōu)先級(jí)。因?yàn)樘囟ㄊ录木o急程度以及需要處理的事件的數(shù)目都不同,因此必須支持優(yōu)先級(jí)的概念,以便確保時(shí)間關(guān)鍵型的任務(wù)不會(huì)由于非時(shí)間關(guān)鍵型的任務(wù)而被延遲。讓非關(guān)鍵型的任務(wù)以與時(shí)間關(guān)鍵型的任務(wù)相同的優(yōu)先級(jí)運(yùn)行就有可能導(dǎo)致此問(wèn)題。由于這種優(yōu)先級(jí)倒置,任務(wù)需要具有互相通信的能力。因此,實(shí)時(shí)系統(tǒng)必須提供同步和通信功能。簡(jiǎn)而言之,實(shí)時(shí)系統(tǒng)必須以最小的開(kāi)銷(xiāo)實(shí)現(xiàn)可預(yù)測(cè)性。

  實(shí)時(shí)計(jì)算還有許多其它的理論,比如調(diào)度理論,在“參考資料”部分包括有相關(guān)的鏈接。您可能已經(jīng)猜到了,我們將討論的wlrt是軟實(shí)時(shí)系統(tǒng)。這種對(duì)“硬性”和“軟性”的討論是有價(jià)值的,可以幫助理解期望從產(chǎn)品中獲得的特性以及產(chǎn)品所針對(duì)的用例。下面是一些在討論weblogic real time相關(guān)概念時(shí)所使用的其它術(shù)語(yǔ)和定義:

實(shí)時(shí)是一種計(jì)算機(jī)響應(yīng)等級(jí),在這種等級(jí)下,用戶可感知到足夠快,或者計(jì)算機(jī)能夠跟得上某個(gè)外部流程。 延遲是指系統(tǒng)花在從一個(gè)指定點(diǎn)傳輸數(shù)據(jù)到另一個(gè)指定點(diǎn)的時(shí)間。 抖動(dòng)是延遲偏差。一個(gè)具有確定性的應(yīng)用程序抖動(dòng)應(yīng)該較低。該術(shù)語(yǔ)基本上描述了一種度量確定性的方法。 吞吐量是計(jì)算機(jī)在給定的時(shí)間幀中所能處理的工作量。 確定性垃圾收集是一個(gè)執(zhí)行概念,用于描述快速的、可預(yù)測(cè)暫停時(shí)間的內(nèi)存堆垃圾收集。垃圾收集是從堆中清理廢棄對(duì)象以便收回空間用于新對(duì)象的過(guò)程。 weblogic real time

  weblogic real time server (wlrt)為事件驅(qū)動(dòng)的應(yīng)用提供了一個(gè)低延遲的輕量級(jí)基礎(chǔ)架構(gòu)。它旨在用于競(jìng)爭(zhēng)性較高的環(huán)境中,在這種環(huán)境中,性能非常關(guān)鍵,每一毫秒都很重要。例如,特定的行業(yè)(比如電信或保險(xiǎn)業(yè))要求事務(wù)在給定的時(shí)間幀中以極低的延遲執(zhí)行。然而,如果嘗試用標(biāo)準(zhǔn)的java來(lái)實(shí)現(xiàn),則很可能會(huì)因?yàn)橛衫占^(guò)程所產(chǎn)生的無(wú)法預(yù)測(cè)的暫停時(shí)間而失敗。這就是wlrt的用武之地了。它結(jié)合了jrockit jvm,后者引入了一種確定性垃圾收集機(jī)制,提供了一個(gè)用于執(zhí)行這些關(guān)鍵型應(yīng)用的j2ee運(yùn)行時(shí)。確定性垃圾收集確保程序執(zhí)行期間的暫停時(shí)間非常短,而且掛起的請(qǐng)求會(huì)在定義的時(shí)間幀中得到處理——從而允許購(gòu)建高性能和確定性的應(yīng)用程序。

架構(gòu)

  要了解該新產(chǎn)品,我們需要詳細(xì)看一下整個(gè)產(chǎn)品組合。wlrt是一個(gè)依賴于jrockit jvm中的新特性的weblogic server,它使用集成的bea spring framework支持輕量級(jí)編程:

bea weblogic server 9.1是實(shí)時(shí)應(yīng)用程序的j2ee服務(wù)提供程序。 bea jrockit 5.0 r26為確定性垃圾收集提供了基礎(chǔ)。 bea spring framework 1.2.6是輕量級(jí)的編程模型。

  下面我們將逐一詳細(xì)介紹這3個(gè)組件。

bea weblogic server 9.1 sp4

  weblogic server 9.1是bea有著良好口碑的著名企業(yè)java應(yīng)用服務(wù)器的最新版本。除了完全實(shí)現(xiàn)了j2ee 1.4規(guī)范外,它還提供了一組標(biāo)準(zhǔn)的api,用于創(chuàng)建可以訪問(wèn)各種服務(wù)(比如數(shù)據(jù)庫(kù)、消息傳遞服務(wù)以及其它與外部企業(yè)系統(tǒng)的連接)的分布式j(luò)ava應(yīng)用程序。借助于weblogic server,企業(yè)可以在一個(gè)健壯、安全、高度可用且可伸縮的環(huán)境中部署任務(wù)關(guān)鍵型的應(yīng)用程序。所有這些都可以使用一組集群化、管理和監(jiān)控特性在給定的基礎(chǔ)架構(gòu)中實(shí)現(xiàn)。作為wlrt的一部分,weblogic server是事件驅(qū)動(dòng)的低延遲應(yīng)用程序的服務(wù)提供程序。

jrockit

  垃圾收集對(duì)java性能有著很大的影響。在full垃圾收集期間,java進(jìn)程會(huì)完全停止。當(dāng)垃圾收集完成后,進(jìn)程才會(huì)繼續(xù)。從堆中清理廢棄對(duì)象以及為新對(duì)象釋放空間的過(guò)程需要進(jìn)行高度優(yōu)化,以便確保有效的內(nèi)存管理。

  jrockit可以使用一種動(dòng)態(tài)的“確定性”垃圾收集優(yōu)先級(jí)(-xgcprio:deterministic)。該策略被優(yōu)化以確保暫停時(shí)間非常短,并限制定義良好的時(shí)間幀(也稱為“滑動(dòng)窗口”(sliding window))中的這些暫停的總次數(shù)。這對(duì)特定的應(yīng)用程序來(lái)說(shuō)很有用,尤其是對(duì)事務(wù)延遲有嚴(yán)格要求的應(yīng)用程序。然而,即使較短的確定性暫停時(shí)間也不一定能保證較高的應(yīng)用程序吞吐量。確定性垃圾收集的目標(biāo)是降低在執(zhí)行垃圾收集時(shí)運(yùn)行的應(yīng)用程序的延遲。與常規(guī)垃圾收集相比,確定性垃圾收集產(chǎn)生的暫停時(shí)間會(huì)短得多。通過(guò)在jrockit 5.0 r26中引入確定性垃圾收集優(yōu)先級(jí),可以保證以下的事務(wù)延遲:

在99%的情況下,在任何50ms的滑動(dòng)窗口中,每周由垃圾收集引起的總暫停時(shí)間不超過(guò)30m。 在任何130ms的滑動(dòng)窗口中,由垃圾收集引起的總暫停時(shí)間不超過(guò)100ms。

  對(duì)于具有1 gb堆以及在收集時(shí)平均30%或更少的活動(dòng)數(shù)據(jù)的應(yīng)用程序,這些目標(biāo)很容易實(shí)現(xiàn)。wlrt文檔聲明,這已經(jīng)在以下硬件上得到了驗(yàn)證:

2 x intel xeon 3.6 ghz,2 mb level 2緩存,4 gb ram 4 x intel xeon 2.0 ghz,0.5 mb level 2緩存,8 gb ram

  在具有不同堆大小且/或者有更多活動(dòng)數(shù)據(jù)的更慢的硬件上運(yùn)行可能會(huì)破壞這一確定性行為。在這種情況下,可能需要使用-xpausetarget選項(xiàng)增加暫停時(shí)間目標(biāo)。確定性垃圾收集只作為wlrt的一部分可用。如果沒(méi)有相應(yīng)的許可文件而試圖啟用該功能,則會(huì)在服務(wù)器控制臺(tái)上出現(xiàn)警告。

weblogic spring framework

  wlrt的最后一部分是用于bea weblogic real time的spring framework 1.2.6。作為一個(gè)輕量級(jí)的應(yīng)用程序開(kāi)發(fā)框架,它的開(kāi)發(fā)工作比起傳統(tǒng)的j2ee開(kāi)發(fā)有了極大的簡(jiǎn)化。實(shí)踐證明,它非常靈活、易用,并且能夠運(yùn)行在具有高度的延遲敏感性的環(huán)境中。通過(guò)將plain old java object (pojo)用作ejb的替代方案,spring framework仍然能夠訪問(wèn)weblogic server的所有可靠性特性。此外,它實(shí)施了模塊化和可重用的編碼實(shí)踐。它還包括基于javabean的配置、一個(gè)aop框架、聲明式事務(wù)管理、jdbc支持和一個(gè)web mvc框架。它在weblogic server上得到了認(rèn)證(從9.0版本開(kāi)始)?梢詮膚eblogic real time產(chǎn)品下載頁(yè)面下載受bea支持的spring版本。關(guān)于該框架及其與weblogic server集成的更多信息,請(qǐng)參見(jiàn)spring與weblogic server的集成(中文版,dev2dev,2006年3月)。

將各組件組合起來(lái)

  在了解了組成wlrt的所有單個(gè)組件之后,接下來(lái)就是要把它們放在一起考慮了。圖1展示了所有組件協(xié)同工作的方式。其中,必要的構(gòu)件塊是具有新增的確定性垃圾收集功能的jrockit jvm。比起其它jvm,它保證了極短的垃圾收集時(shí)間。只有在高性能容器的基礎(chǔ)上構(gòu)建應(yīng)用程序,才可以獲得這樣的結(jié)果。對(duì)于wlrt 1.0來(lái)說(shuō),這是指weblogic server 9。但是在完成時(shí),高性能且可靠的應(yīng)用程序的關(guān)鍵是您自己的代碼。wlrt尊重這一點(diǎn),它只將spring framework作為一個(gè)架構(gòu)組件進(jìn)行集成,但并不強(qiáng)制用戶使用它。只不過(guò)它是一個(gè)構(gòu)建模塊化的、可重用的、高性能的應(yīng)用程序的良好起點(diǎn)。如果使用它來(lái)開(kāi)發(fā)應(yīng)用程序,就很容易遵循常見(jiàn)的用于優(yōu)化資源訪問(wèn)和靈敏性環(huán)境中的其他關(guān)鍵因素的著名模式。


圖1. weblogic real time服務(wù)器架構(gòu)

實(shí)時(shí)用例

  了解了wlrt的所有組件之后,我們需要看一下相關(guān)的用例。weblogic real time可以使用響應(yīng)靈敏的應(yīng)用程序?yàn)楦咝阅墉h(huán)境提供解決方案。即使wlrt并沒(méi)有附帶相關(guān)的示例應(yīng)用,我們也很容易想到一些。

向套利交易商提出挑戰(zhàn)的衍生工具交易

  一家大型零售銀行的投資工具提供了歐洲證券的衍生工具交易。它是一個(gè)柜買(mǎi)中心(over-the-counter,otc)請(qǐng)求報(bào)價(jià)和執(zhí)行系統(tǒng)(但是不提供結(jié)算和清算服務(wù))。經(jīng)紀(jì)人提交一個(gè)報(bào)價(jià)請(qǐng)求,并包括了證券代碼和數(shù)量。系統(tǒng)接受報(bào)價(jià)并應(yīng)用特定的業(yè)務(wù)規(guī)則。根據(jù)證券代碼和市場(chǎng)形勢(shì),請(qǐng)求被轉(zhuǎn)發(fā)到特定的第三方做市商(market maker),然后做市商會(huì)計(jì)算并提供該衍生工具的出價(jià)和叫價(jià)。響應(yīng)會(huì)通過(guò)otc交易臺(tái)返回給經(jīng)紀(jì)人。然后經(jīng)紀(jì)人可以通過(guò)一個(gè)后續(xù)請(qǐng)求執(zhí)行該衍生工具的交易,該請(qǐng)求會(huì)通過(guò)otc交易臺(tái)轉(zhuǎn)發(fā)給相應(yīng)的做市商。

  該場(chǎng)景的復(fù)雜性在于,銀行的otc交易基礎(chǔ)架構(gòu)處理報(bào)價(jià)請(qǐng)求的短暫等待延遲可能會(huì)被套利交易商所利用。在瞬息萬(wàn)變的證券市場(chǎng)上,在這個(gè)延遲發(fā)生期間,該衍生工具的價(jià)格就可能發(fā)生了變化。這為套利交易商提供了一個(gè)利用交易所的低效率的空子,并將投資銀行暴露于其無(wú)法承受的風(fēng)險(xiǎn)中。因此投資銀行需要一個(gè)性能驅(qū)動(dòng)的軟件基礎(chǔ)架構(gòu)來(lái)交付具有極低延遲的otc交易。具體來(lái)說(shuō),為了抵制套利交易商,交易所基礎(chǔ)架構(gòu)的延遲必須比套利交易商的基礎(chǔ)架構(gòu)的延遲短。這樣,套利交易商的數(shù)據(jù)就在交易所的數(shù)據(jù)之前失效,因此就不可用了。

網(wǎng)上購(gòu)物平臺(tái):beay

  beay為用戶提供了一個(gè)銷(xiāo)售商品的系統(tǒng)。除了常規(guī)的購(gòu)物功能外,用戶還可以利用系統(tǒng)的一部分進(jìn)行商品的競(jìng)拍。賣(mài)家為出價(jià)者設(shè)置競(jìng)拍期限(幾周或幾個(gè)小時(shí))。到期限結(jié)束時(shí)出價(jià)最高的顧客會(huì)被接受。成功的關(guān)鍵是要盡可能多地出價(jià),但是不要比前一個(gè)最高出價(jià)高出太多。越接近競(jìng)拍期限的尾聲,做出正確的出價(jià)就愈發(fā)顯得具有時(shí)間關(guān)鍵性。

  假如說(shuō)有兩個(gè)用戶在爭(zhēng)最高出價(jià),并且它們都在最后5秒中提交了一個(gè)報(bào)價(jià)。其中出價(jià)較高的那個(gè)正好遇上了系統(tǒng)延遲(可能是由于運(yùn)行了垃圾收集),因此出價(jià)較低的那個(gè)用戶就會(huì)在競(jìng)拍期限結(jié)束后被接受。這樣,購(gòu)物系統(tǒng)操作員錯(cuò)過(guò)了可能的更高利潤(rùn)份額,賣(mài)家錯(cuò)過(guò)了更高出價(jià),而顧客則失去了對(duì)該系統(tǒng)的信任。因此,beay需要一個(gè)具有極低延遲的高性能基礎(chǔ)架構(gòu),以便確保在適當(dāng)?shù)臅r(shí)間期限內(nèi),所有顧客都擁有使他們的出價(jià)被接受的同等機(jī)會(huì)。

結(jié)束語(yǔ)

  weblogic real time 1.0最近剛剛發(fā)布,該產(chǎn)品包應(yīng)該能夠啟用一些支持實(shí)時(shí)應(yīng)用程序的新特性。雖然這首個(gè)版本并沒(méi)有提供所有的實(shí)時(shí)概念,但是以后還將出現(xiàn)更多的新特性。下一個(gè)wlrt版本(預(yù)計(jì)會(huì)于今年年中發(fā)布),將會(huì)提供補(bǔ)丁以及進(jìn)一步優(yōu)化的確定性垃圾收集功能。以后的wlrt版本應(yīng)該會(huì)進(jìn)一步精化實(shí)時(shí)服務(wù),比如實(shí)時(shí)線程和調(diào)度程序,以及高分辨率計(jì)時(shí)器。還可以期待wlrt會(huì)解決一些與事件流處理和分布式緩存相關(guān)的問(wèn)題。

  wlrt適用于任務(wù)關(guān)鍵型環(huán)境,并支持低延遲和性能關(guān)鍵型應(yīng)用程序的運(yùn)行。在這個(gè)新的企業(yè)java領(lǐng)域,它還只是邁出了第一步。雖然并不是人人都需要實(shí)時(shí)特性,但是它填補(bǔ)了企業(yè)java領(lǐng)域中以前阻礙此類(lèi)應(yīng)用程序開(kāi)發(fā)的鴻溝。weblogic server、jrockit和spring輕量級(jí)應(yīng)用框架的組合為我們打開(kāi)了一個(gè)令人興奮的開(kāi)發(fā)空間。

參考資料weblogic real time下載頁(yè)面 weblogic real time documentation——產(chǎn)品文檔 performance analysis of the weblogic real time 1.0 "trader" application,tom barnes (dev2dev,2006年4月) spring與weblogic server的集成,andy piper等(中文版,dev2dev,2006年3月)——對(duì)weblogic spring framework的很好的介紹 jsr 1: real-time specification for java——對(duì)實(shí)時(shí)java的很好的介紹 對(duì)douglas jenson所描述的實(shí)時(shí)概念的很好的介紹