freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

揭開j2ee集群的神秘面紗-預(yù)覽頁

2025-07-20 04:43 上一頁面

下一頁面
 

【正文】 ,每個(gè)JVM實(shí)例擁有幾個(gè)應(yīng)用程序,每個(gè)應(yīng)用程序都為不同的用戶管著許多會(huì)話,HTTPSessionl備份的頻率和粒度會(huì)話的備份是消耗性能的,包括CPU,內(nèi)存,網(wǎng)絡(luò)帶寬和寫入磁盤和數(shù)據(jù)庫的I/O,備份的頻率和備份對(duì)象的粒度將嚴(yán)重影響性能。序列化對(duì)象是關(guān)鍵點(diǎn),它使得內(nèi)存會(huì)話數(shù)據(jù)可以持久化和傳輸。7簡單,容易實(shí)現(xiàn)。l8同數(shù)據(jù)庫方式相比,直接在原服務(wù)器和備份服務(wù)器之間網(wǎng)絡(luò)通信是非常輕量的。JavaGroups的信息,請(qǐng)參考:。WebLogic,Jboss和Websphere的方式:對(duì)等服務(wù)器復(fù)制由于性能和伸縮性的原因,WebLogic,Jboss和Webshpere采用了其他方式實(shí)現(xiàn)內(nèi)存復(fù)制。對(duì)等服務(wù)器復(fù)制盡管這種方式實(shí)現(xiàn)失效轉(zhuǎn)移有很高的性能和伸縮性,但它仍有一些限制:ll在沒有發(fā)生失效轉(zhuǎn)移的時(shí)候,備份服務(wù)器上大量用于備份的內(nèi)存是個(gè)浪費(fèi)。集群中的服務(wù)器實(shí)例構(gòu)成了復(fù)制對(duì)。IBM的方式:中央狀態(tài)服務(wù)器Websphere采用不同的方式實(shí)現(xiàn)內(nèi)存復(fù)制:備份會(huì)話信息到中央的狀態(tài)服務(wù)器,如圖11所示:中央狀態(tài)服務(wù)器復(fù)制這與數(shù)據(jù)庫的解決方案非常類似,不同之處在于專用的“會(huì)話備份服務(wù)器”代替了數(shù)據(jù)庫服務(wù)器,這種方式結(jié)合了數(shù)據(jù)庫和內(nèi)存復(fù)制兩種方式的優(yōu)點(diǎn)。所有的會(huì)話數(shù)據(jù)都備份到專用的服務(wù)器上,無需服務(wù)器浪費(fèi)內(nèi)存用于備份其他服務(wù)器的會(huì)話。與重量級(jí)的數(shù)據(jù)庫連接相比,應(yīng)用服務(wù)器與備份服務(wù)器之間Socket通信是輕量的。Sun的方式:特殊數(shù)據(jù)庫特殊數(shù)據(jù)庫復(fù)制Sun性能因素考慮如下問題:一臺(tái)WEB服務(wù)器中可能運(yùn)行著許多WEB應(yīng) 用,它們中每一個(gè)都可能被成百的并發(fā)用戶訪問,而每個(gè)用戶都會(huì)產(chǎn)生瀏覽器會(huì)話用于訪問特定的應(yīng)用。因此,性能在會(huì)話失效轉(zhuǎn)移的解決方案中是個(gè)很大的因素。選擇備份頻率需要平衡。l按固定的時(shí)間間隔會(huì)話在后臺(tái)按固定的時(shí)間間隔保存。以下是不同產(chǎn)品所有采用的常用的策略。這種方式簡單,內(nèi)存復(fù)制和數(shù)據(jù)庫存儲(chǔ)方式都默認(rèn)采用這種方式?!?)”被調(diào)用后,則認(rèn)為會(huì)話被修改過。這將帶來比備份整個(gè)會(huì)話更好的性能。這種方式帶來最好的性能及最小的網(wǎng)絡(luò)通信。每個(gè)唯一的屬性鍵值下的對(duì)象圖應(yīng)當(dāng)被獨(dú)立地序列化和保存。但是“student”對(duì)象可以被獨(dú)立的修改,當(dāng)它被修改后,僅僅只有它自己被備份。會(huì)話復(fù)制中的交叉引用其他失效轉(zhuǎn)移的實(shí)現(xiàn)如前面章節(jié)所提到的,當(dāng)會(huì)話備份時(shí)粒度對(duì)于性能非常重要。Jrun的Jini技術(shù)Jrun4將它的集群解決方案構(gòu)在Jini技術(shù)之上。要了解有關(guān)Jini和JavaSpace更多的信息,請(qǐng)參考Tangosol的分布式緩存Tangosol要了解有關(guān)Tangosol更多的信息,請(qǐng)參考JNDI集群實(shí)現(xiàn)J2EE規(guī)范要求所有的J2EE容器必須提供JNDI規(guī)范的實(shí)現(xiàn)。所有的EJB調(diào)用都開始于在JNDI樹上查找它的Home接口,J2EE供應(yīng)商根據(jù)他們的集群結(jié)構(gòu)采用不同的方式實(shí)現(xiàn)JNDI集群。共享的全局JNDI如圖14所示,共享的全局JNDI樹實(shí)際包括了所有本地JNDI結(jié)點(diǎn)上綁定的對(duì)象。實(shí)際上,集群的JNDI樹可以被用做兩個(gè)目的。在運(yùn)行期,程序可以JNDIWebSphere等采用了每個(gè)服務(wù)器都擁有獨(dú)立的JNDI樹的方式。當(dāng)集群中所有實(shí)例都有相同的設(shè)置以及都部署相同的應(yīng)用程序集,我們說集群是“相似的”,這種情況下,一種被稱為代理的特殊管理工具可以幫助我們獲取高可用性,如圖15所示:獨(dú)立JNDI不管是Sun如果有這樣的需求,可以采用具有HA(高可用性)特性的獨(dú)立的LDAP服務(wù)器或數(shù)據(jù)庫。所有的客戶端都在這臺(tái)服務(wù)器中查找EJB組件,但是這種結(jié)構(gòu)意味著復(fù)雜的安裝和管理,慢慢被多數(shù)供應(yīng)商拋棄。SunJboss同時(shí)也實(shí)現(xiàn)了自動(dòng)發(fā)現(xiàn)的特性,當(dāng)設(shè)置屬性串“”為空時(shí),客戶端將試圖通過網(wǎng)絡(luò)廣播來發(fā)現(xiàn)在一個(gè)JNDI服務(wù)器。Web服務(wù)器組件或富客戶端可以從其他的機(jī)器通過標(biāo)準(zhǔn)協(xié)議(RMI/IIOP)來訪問EJB。圖當(dāng)客戶端想使用EJB,它不能直接調(diào)用,相反,客戶端只能調(diào)用一個(gè)被稱為“stub”的本地對(duì)象,它扮演了到遠(yuǎn)程對(duì)象代理的角色,并且有遠(yuǎn)程對(duì)象相同的接口。為了調(diào)用EJB,我們需要lstub查找或創(chuàng)建EJB對(duì)象,這樣獲得一個(gè)EJBObject在EJB這樣存根就可以在運(yùn)行期動(dòng)態(tài)地用程序生成,而其類文件也不必在客戶端環(huán)境的classpath或庫中。智能存根確實(shí)很聰明,它包含一組它可以訪問的目標(biāo)實(shí)例, 可以檢測這些實(shí)例的任何失效,它也包含了復(fù)雜的負(fù)載均衡和失效轉(zhuǎn)移的邏輯,用來分發(fā)請(qǐng)求到目標(biāo)實(shí)例。llApplication如圖18所示。攔截器代理IBMEJB的集群支持要調(diào)用EJB的方法,要涉及到兩種存根對(duì)象,一是EJBHome接口,另一個(gè)是EJBObject接口。當(dāng)客戶端調(diào)用EJB對(duì)象上的方法時(shí)。當(dāng)客戶端執(zhí)行create()或find()調(diào)用的時(shí)候,home存根根據(jù)負(fù)載均衡和失效轉(zhuǎn)移算法從多個(gè)相同的服務(wù)器實(shí)例中選擇一個(gè),并將調(diào)用發(fā)送到該服務(wù)器的home接口上。集群的有狀態(tài)會(huì)話Bean與無狀態(tài)會(huì)話Bean有一點(diǎn)不同,正如我們所知,有狀態(tài)會(huì)話Bean對(duì)于客戶端連續(xù)的請(qǐng)求會(huì)持有狀態(tài)信息。相反,它將膠粘到最初創(chuàng)建的服務(wù)器實(shí)例上,我們稱這個(gè)實(shí)例為“主實(shí)例”。所有的信息都將通過實(shí)體Bean本身的機(jī)制備份到數(shù)據(jù)庫中。這樣,多數(shù)對(duì)實(shí)體Bean的訪問都是進(jìn)程內(nèi)會(huì)話Bean通過本地接口完成的,而不是遠(yuǎn)程客戶端。當(dāng)前,一些數(shù)據(jù)庫產(chǎn)品,如Oracle客戶端代碼需要進(jìn)行重連的動(dòng)作。Destination中的消息有失效轉(zhuǎn)移的功能。那么失效轉(zhuǎn)移到底給你帶來了什么?你可能想失效轉(zhuǎn)移可以避免錯(cuò)誤。這是說如果你有兩個(gè)連續(xù)的對(duì)遠(yuǎn)程對(duì)象的方法調(diào)用,失效轉(zhuǎn)移只會(huì)在第一調(diào)用成功后并且第二調(diào)用的請(qǐng)求發(fā)出前才能發(fā)生。是才剛剛初始化還是差不多就要完成了?客戶端沒法判斷!如果方法不是等冪的,在相同方法上的兩次調(diào)用可能會(huì)兩次修改系統(tǒng)的狀態(tài),而使得系統(tǒng)出現(xiàn)不一致的情形。在一些應(yīng)用程序中,將所有的方法都做成等冪的是不可能的。而其他80個(gè)用戶正處于思考時(shí)間或在兩個(gè)方法調(diào)用之間,這些用戶可以透明地獲得失效轉(zhuǎn)移。采用失效轉(zhuǎn)移和不采用失效轉(zhuǎn)移產(chǎn)品成本的區(qū)別獨(dú)立應(yīng)用可以透明的遷移到集群結(jié)構(gòu)中——否定盡管一些供應(yīng)商宣稱他們的J2EE產(chǎn)品有這樣的靈活性。Session有很多限制,這取決于你的應(yīng)用程序服務(wù)器采用了那種會(huì)話失效轉(zhuǎn)移的機(jī)制。Session保存一些不序列化的對(duì)象(如ServletContext,EJB本地接口和WEB服 務(wù)引用),這樣的設(shè)計(jì)不能在集群中工作。其他在集群環(huán)境中的主要區(qū)別是在會(huì)話不管任何屬性修改,你必 須調(diào)用“setAttribute()”方法。但這些緩存都是為那些典型的獨(dú)立環(huán)境設(shè)計(jì)的,只能在單JVM實(shí)例中工作。在集群環(huán)境,每個(gè)JVM實(shí)例都要維護(hù)一份緩存的拷貝,這些拷貝必須同步以維持所有服務(wù)器實(shí)例狀態(tài)的一致性。這種方式在單服務(wù)中工作得很好,但在集群環(huán)境將失效。這種方式在單服務(wù)器中絕對(duì)是好的,但在集群環(huán)境將失效。在集群環(huán)境是沒有辦法來在其他實(shí)例之間來復(fù)制這些文件的。特殊服務(wù)一 些特殊的服務(wù)只在獨(dú)立的環(huán)境中才有意義,定時(shí)服務(wù)就一個(gè)很好例子,這種服務(wù)可以在一個(gè)固定的間隔時(shí)間有規(guī)律的觸發(fā)。初始化服務(wù)就是個(gè)好例子,它只在整 個(gè)系統(tǒng)啟動(dòng)時(shí)才發(fā)生。一些產(chǎn)品準(zhǔn)備了這些服務(wù),如Jboss使用了“集群單例設(shè)施”來協(xié)調(diào)所有實(shí)例,保證執(zhí)行這些服務(wù)一次且僅有一次。但是我們不能將所有的東西都分布。分布式結(jié)構(gòu)如圖20所示,這是一個(gè)分布式結(jié)構(gòu)。第二次負(fù)載均衡沒有必要,因?yàn)樗粫?huì)使任務(wù)分配更平坦。第二次失效轉(zhuǎn)移沒有必要,因?yàn)樗荒苁歉呖捎眯?。性能將下降。JES,WebLogic和Jboss)都會(huì)優(yōu)化EJB調(diào)用機(jī)制,使請(qǐng)求首先選擇同一個(gè)服務(wù)器中的EJB容器。并置結(jié)構(gòu)一個(gè)有趣的問題是,既然多數(shù)的部署在運(yùn)行期都演進(jìn)成了并置結(jié)構(gòu),為什么不用本地接口代替遠(yuǎn)程接口,這將大提高性能。但不幸的是,在集群中使用本地接口在多數(shù)J2EE服務(wù)器中有局限性。JES,會(huì)將本地接口區(qū)別看待,使它們可以序列化。l這樣防火墻將被設(shè)置用于保護(hù)運(yùn)行EJB的重要機(jī)器。在這種情況下,專門的WEB服務(wù)器可以用來接受客戶端連接請(qǐng)求,很快處理靜態(tài)數(shù)據(jù)(HTML和圖像)和簡單的WEB組件(JSP和Servlet)。如果你的項(xiàng)目為做到高伸縮性而使用集群,你應(yīng)該在你的項(xiàng)目開始的時(shí)候就做準(zhǔn)備。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1