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

正文內(nèi)容

揭開j2ee集群的神秘面紗(編輯修改稿)

2025-07-23 04:43 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 但由于有新的訪問而使 最后訪問時(shí)間變了(由此判斷什么時(shí)候失效會(huì)話)。因此,性能在會(huì)話失效轉(zhuǎn)移的解決方案中是個(gè)很大的因素。供應(yīng)商通常會(huì)提供一些可調(diào)的參數(shù)改變服務(wù)器行為, 使之適應(yīng)性能需求。備份時(shí)機(jī)當(dāng) 客戶端的請(qǐng)求被處理后,會(huì)話隨時(shí)改變。由于性能因素,實(shí)時(shí)備份會(huì)話是不明智的。選擇備份頻率需要平衡。如果備份動(dòng)作發(fā)生得太頻繁,性能將急劇下降。如果兩 次備份的間隔太長(zhǎng),那么在這間隔之間服務(wù)器失效后,很多會(huì)話信息將會(huì)丟失。不管所有的方式,包括數(shù)據(jù)庫(kù)和內(nèi)存復(fù)制,下面是決定備份頻率的常用的選項(xiàng)。l按WEB請(qǐng)求在WEB請(qǐng)求處理結(jié)束后,發(fā)生響應(yīng)之前保存數(shù)據(jù)。這種方式能夠保證在失效后備份的會(huì)話數(shù)據(jù)是最新的。l按固定的時(shí)間間隔會(huì)話在后臺(tái)按固定的時(shí)間間隔保存。這種方式不能保證備份的會(huì)話數(shù)據(jù)是最新的。但由于不需在每次請(qǐng)求之后備份數(shù)據(jù),因而有更好的性能。備份粒度當(dāng)備份會(huì)話的時(shí)候,你還需要決定多少會(huì)話狀態(tài)需要保存。以下是不同產(chǎn)品所有采用的常用的策略。l整個(gè)會(huì)話每次都將保存所有會(huì)話。這種方式為正確保存分布式WEB應(yīng)用的會(huì)話提供了最好保證。這種方式簡(jiǎn)單,內(nèi)存復(fù)制和數(shù)據(jù)庫(kù)存儲(chǔ)方式都默認(rèn)采用這種方式。l修改過的會(huì)話當(dāng)會(huì)話被修改過后,則備份整個(gè)會(huì)話。當(dāng)“()”或“()”被調(diào)用后,則認(rèn)為會(huì)話被修改過。必須保證這些方法調(diào)用才修改會(huì)話屬性,這并不是J2EE規(guī)范后要求的。但卻是正確實(shí)現(xiàn)這種方法所需要的。備份修改過的會(huì)話減少了會(huì)話存儲(chǔ)的數(shù)量,那些僅僅是讀取會(huì)話屬性的請(qǐng)求將不會(huì)觸發(fā)會(huì)話備份的動(dòng)作。這將帶來比備份整個(gè)會(huì)話更好的性能。l修改過的屬性僅僅是保存被修改過的會(huì)話屬性而不是整個(gè)會(huì)話。這將最小化備份的會(huì)話數(shù)據(jù)。這種方式帶來最好的性能及最小的網(wǎng)絡(luò)通信。為了保證這種方式工作的正確性,必須依據(jù)以下的要點(diǎn)。首先,只能通過調(diào)用“setAttribute()”方法修改會(huì)話狀態(tài),并且會(huì)話數(shù)據(jù)要被序列化和備份。其次,確保屬性之間沒有交叉引用。每個(gè)唯一的屬性鍵值下的對(duì)象圖應(yīng)當(dāng)被獨(dú)立地序列化和保存。如果兩個(gè)獨(dú)立的鍵值下的對(duì)象存在交叉引用,它們將不能夠正確的序列化和反序列化。例如圖13所示,在一個(gè)內(nèi)存復(fù)制的集群中,會(huì)話中存有“student”和“school”對(duì)象,同時(shí)“school”對(duì)象含有到“student”對(duì)象的引用,某一個(gè)時(shí)候“school”被修改后備份到備份服務(wù)器中。在序列化和反序列化之后,在備份服務(wù)器的被還原的“school”對(duì)象的版本將包含整個(gè)對(duì)象圖,包括其引用的“student”對(duì)象。但是“student”對(duì)象可以被獨(dú)立的修改,當(dāng)它被修改后,僅僅只有它自己被備份。在序列化和反序列化之后,在備份服務(wù)器中還原“student”對(duì)象,但在此時(shí),它將丟失與“school”對(duì)象的連接。盡管這種方式有最好的性能,但上述限制將影響WEB應(yīng)用程序的架構(gòu)和設(shè)計(jì)。特別是需要用會(huì)話保存緩存的復(fù)雜的用戶數(shù)據(jù)。圖13會(huì)話復(fù)制中的交叉引用其他失效轉(zhuǎn)移的實(shí)現(xiàn)如前面章節(jié)所提到的,當(dāng)會(huì)話備份時(shí)粒度對(duì)于性能非常重要。然而,當(dāng)前的一些實(shí)現(xiàn),不管是數(shù)據(jù)庫(kù)存儲(chǔ)還是內(nèi)存復(fù)制,都將使用Java對(duì)象序列化技術(shù)來傳輸Java對(duì)象。這就打了個(gè)大印子,影響系統(tǒng)的性能,并給WEB應(yīng)用程序的架構(gòu)和設(shè)計(jì)帶來很多的限制。一些J2EE供應(yīng)商便尋找一些特別的手段來更為輕量地,小印子地實(shí)現(xiàn)WEB集群,提供細(xì)粒度的分布式對(duì)象共享機(jī)制用于提高集群的性能。Jrun的Jini技術(shù)Jrun4將它的集群解決方案構(gòu)在Jini技術(shù)之上。Jini為分布式計(jì)算而生,它允許在一個(gè)單一的分布式計(jì)算空間內(nèi)創(chuàng)建“聯(lián)合”的設(shè)備或組件。Jini提供查找,注冊(cè),租用等分布式系統(tǒng)服務(wù),這對(duì)集群環(huán)境非常有用。另一種稱為JavaSpace的技術(shù)構(gòu)建于Jini之上,它提供了一些用于實(shí)現(xiàn)集群非常有價(jià)值的特性,如對(duì)象處理,共享,遷移等。要了解有關(guān)Jini和JavaSpace更多的信息,請(qǐng)參考Tangosol的分布式緩存TangosolCoherence提供了一個(gè)分布式數(shù)據(jù)管理平臺(tái),它可以嵌入到大多數(shù)流行的J2EE服務(wù)器中用于實(shí)現(xiàn)集群環(huán)境。TangosolCoherence同時(shí)也是提供了分布式緩存系統(tǒng)用于在不同的JVM之間有效地共享Java對(duì)象。要了解有關(guān)Tangosol更多的信息,請(qǐng)參考JNDI集群實(shí)現(xiàn)J2EE規(guī)范要求所有的J2EE容器必須提供JNDI規(guī)范的實(shí)現(xiàn)。JNDI在J2EE應(yīng)用程序中的主要角色是用來提供一個(gè)間接層,這樣資源可以很容易被找到,而不用關(guān)心細(xì)節(jié)。這使得J2EE組件更加可復(fù)用。擁用全特性的集群的JNDI對(duì)于J2EE集群是非常重要的。所有的EJB調(diào)用都開始于在JNDI樹上查找它的Home接口,J2EE供應(yīng)商根據(jù)他們的集群結(jié)構(gòu)采用不同的方式實(shí)現(xiàn)JNDI集群。共享全局JNDI樹WebLogic和Jboss都有一個(gè)全局的,共享的,集群范圍的JNDIContext供客戶端查找和綁定對(duì)象,綁定的全局JNDIContext中對(duì)象將通過IP廣播的方式在集群中復(fù)制,這樣當(dāng)一臺(tái)服務(wù)器實(shí)例停機(jī)后,被綁定的對(duì)象仍然可供查找。圖14共享的全局JNDI如圖14所示,共享的全局JNDI樹實(shí)際包括了所有本地JNDI結(jié)點(diǎn)上綁定的對(duì)象。集群上每個(gè)結(jié)點(diǎn)都擁有自己的名稱服務(wù)器,它們與集群中其他服務(wù)器相互復(fù)制所有的東西。這樣每個(gè)名稱服務(wù)器上都擁有其他名稱服務(wù)器對(duì)象樹的拷貝。這種冗余結(jié)構(gòu)使得全局JNDI樹高可用。實(shí)際上,集群的JNDI樹可以被用做兩個(gè)目的。可以被管理員用來部署對(duì)象和服務(wù)。在一臺(tái)服務(wù)中部署完EJB模塊或JDBCamp。JMS服務(wù)后,JNDI樹上的所有對(duì)象都將復(fù)制到其他服務(wù)器實(shí)例中。在運(yùn)行期,程序可以JNDIAPI訪問JNDI樹存儲(chǔ)或者獲取對(duì)象,這些對(duì)象也將被全局復(fù)制。獨(dú)立JNDIJboss和WebLogic都采用了共享全局JNDI樹的方式,SunJES和IBMWebSphere等采用了每個(gè)服務(wù)器都擁有獨(dú)立的JNDI樹的方式。在使用獨(dú)立JNDI樹的集群中,成員服務(wù)器不必知道或關(guān)心集群中其他服務(wù)器。這是否意味著不想把JNDI集群呢?所有EJB訪問都開始于在JNDI樹上查找它們的Home接口,如果沒有可集群的JNDI樹,集群就根本無用。實(shí)際上,如果J2EE應(yīng)用程序是相似的,獨(dú)立的JNDI樹仍然可以獲得高可用性。當(dāng)集群中所有實(shí)例都有相同的設(shè)置以及都部署相同的應(yīng)用程序集,我們說集群是“相似的”,這種情況下,一種被稱為代理的特殊管理工具可以幫助我們獲取高可用性,如圖15所示:圖15獨(dú)立JNDI不管是SunJES還是WebSphere都在集群的實(shí)例上安裝了結(jié)點(diǎn)代理,當(dāng)部署EJB模塊或綁定其他JNDI服務(wù),管理控制員可以向所有的代理發(fā)出命令,以此實(shí)現(xiàn)與共享全局JNDI相同的效果。但是獨(dú)立JNDI的方案不能支持復(fù)制在運(yùn)行期綁定或獲取的對(duì)象。有以下幾個(gè)原因:JNDI在J2EE應(yīng)用程序中的主要角色是用來提供管理外部資源的間接層,并不是用來做數(shù)據(jù)存儲(chǔ)。如果有這樣的需求,可以采用具有HA(高可用性)特性的獨(dú)立的LDAP服務(wù)器或數(shù)據(jù)庫(kù)。Sun和IBM自己都有這樣擁有集群特性的獨(dú)立的LDAP服務(wù)器產(chǎn)品。中心JNDI少數(shù)J2EE產(chǎn)品使用了中心JNDI方案,這種方案中名稱服務(wù)器駐留在單一服務(wù)器中,所有的服務(wù)器實(shí)例都注冊(cè)它們相同的EJB組件和管理對(duì)象到單一的服務(wù)器中。名稱服務(wù)器實(shí)現(xiàn)了高可用性,這對(duì)客戶端是透明的。所有的客戶端都在這臺(tái)服務(wù)器中查找EJB組件,但是這種結(jié)構(gòu)意味著復(fù)雜的安裝和管理,慢慢被多數(shù)供應(yīng)商拋棄。初始化訪問JNDI服務(wù)器當(dāng)然客戶端要訪問JNDI服務(wù)器的時(shí)候,它們需要知道遠(yuǎn)程JNDI服務(wù)器的主機(jī)名/IP地址和端口,在全局或是獨(dú)立JNDI樹的方案中,有多個(gè)JNDI服務(wù)器。客戶端第一次訪問時(shí)應(yīng)該連接哪個(gè)呢?如何獲得負(fù)載均衡和失效轉(zhuǎn)移呢?從技術(shù)上說,一個(gè)軟件或硬件負(fù)載均衡器可以設(shè)在遠(yuǎn)程客戶端和所有的JNDI服務(wù)器之間執(zhí)行負(fù)載均和失效轉(zhuǎn)移。但是,很少有供應(yīng)商實(shí)現(xiàn)這種方式,這里有些簡(jiǎn)單的方案:lSunJES和Jboss實(shí)現(xiàn)JNDI集群是在“”屬性中設(shè)置一列用逗號(hào)分隔的URL,=server1:1100,server2:1100::,一旦其中一個(gè)響應(yīng)了便中止。lJboss同時(shí)也實(shí)現(xiàn)了自動(dòng)發(fā)現(xiàn)的特性,當(dāng)設(shè)置屬性串“”為空時(shí),客戶端將試圖通過網(wǎng)絡(luò)廣播來發(fā)現(xiàn)在一個(gè)JNDI服務(wù)器。EJB集群實(shí)現(xiàn)EJB是J2EE技術(shù)中重要的部分,并且EJB集群是實(shí)現(xiàn)J2EE集群最大的挑戰(zhàn)。EJB技術(shù)是為分布式計(jì)算而生。它們可以在獨(dú)立的服務(wù)器中運(yùn)行。Web服務(wù)器組件或富客戶端可以從其他的機(jī)器通
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1