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

正文內(nèi)容

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

2025-07-23 04:43 本頁面
 

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