国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Terracotta in Action(1) - whitesock - JavaEye...

Terracotta in Action(1)

文章分類(lèi):Java編程 關(guān)鍵字: terracotta

    1.  Introduction

        Terracotta 在其官方文檔中的定義是一種透明的集群服務(wù),也可以看成是JVM級(jí)別的集群。其中“透明”的含義并不是指已有程序無(wú)需做任何改動(dòng)就可以使用Terracotta ,但是使用Terracotta 的代碼無(wú)需實(shí)現(xiàn)特定的接口,也不依賴(lài)各種magic beans。通常意義上的“集群”是指多個(gè)應(yīng)用通過(guò)網(wǎng)絡(luò)通信、共享數(shù)據(jù)等,但是這種集群方式通常要求在應(yīng)用程序中加入集群相關(guān)的代碼。Terracotta 是在應(yīng)用程序之下,JVM級(jí)別上的集群。這使得應(yīng)用程序從復(fù)雜的集群相關(guān)的邏輯中解放出來(lái),從而可以關(guān)注在業(yè)務(wù)邏輯本身。

     

     

        Terracotta是開(kāi)源的,并且可以集成在很多主流的開(kāi)源軟件中,如Jetty、Tomcat、Spring、Geronimo和EHCache等。Terracotta 的核心組件有兩個(gè):客戶(hù)端類(lèi)庫(kù)(client libraries)和服務(wù)端進(jìn)程(Terracotta server),它們之間通過(guò)TCP/IP通信。Terracotta server獨(dú)立于各個(gè)應(yīng)用程序,它負(fù)責(zé)對(duì)集群的集中管理;客戶(hù)端類(lèi)庫(kù)則用于加入集群。

        Terracotta 的最新版本是2.7.3,可以從http://www.terracotta.org/下載。其Windows安裝文件100多M。默認(rèn)的安裝目錄是C:\Program Files\Terracotta。安裝后進(jìn)入到bin目錄執(zhí)行start-tc-server.bat就可以啟動(dòng)Terracotta  server。從Windows開(kāi)始菜單TerraCotta 2.7.3 -> Administrator Console啟動(dòng)Terracotta 的管理控制臺(tái)。啟動(dòng)管理控制臺(tái)后,使用默認(rèn)的Server Host和JMX Port,點(diǎn)擊Connect按鈕。當(dāng)TerraCotta管理控制臺(tái)連接到Terracotta  server之后,會(huì)顯示類(lèi)似于下圖的界面:


        其左側(cè)樹(shù)形控件的Servers節(jié)點(diǎn)會(huì)顯示連接到的Terracotta server的詳細(xì)信息。此時(shí)由于沒(méi)有客戶(hù)端程序連接到Terracotta server,因此Cluster Object節(jié)點(diǎn)和Clients節(jié)點(diǎn)內(nèi)容為空。接下來(lái)演示一個(gè)Terracotta 附帶的例子應(yīng)用。通過(guò)Terracotta 2.7.3 -> Terracotta Welcome啟動(dòng)Terracotta Welcome程序,單擊Sample Applications鏈接。在Sample Application Launcher中單擊Shared Graphics Editor下邊的Launch鏈接。在Shared Editor啟動(dòng)后,隨意繪制幾個(gè)圖形。然后 回到Sample Application Launcher中再次單擊Shared Graphics Editor下邊的Launch鏈接。第二次啟動(dòng)的Shared Editor中會(huì)顯示出之前繪制的圖形,并且在任何一個(gè)Shared Editor中繪制的圖形都會(huì)被同步到另外的Shared Editor中。接下來(lái)回到Terracotta 管理控制臺(tái),可以看到Clients節(jié)點(diǎn)中包含了兩個(gè)客戶(hù)端程序的信息。Cluster Object節(jié)點(diǎn)中包含了共享對(duì)象的信息。此時(shí)如果把所有的Shared Editor都關(guān)閉,那么Clients節(jié)點(diǎn)的內(nèi)容變?yōu)榭眨荂luster Object節(jié)點(diǎn)中仍然包含了共享對(duì)象的信息。如果再次啟動(dòng)一個(gè)Shared Editor,那么這個(gè)Shared Editor中會(huì)顯示之前的Shared Editor關(guān)閉時(shí)的圖形。最后,通過(guò)bin目錄中的stop-tc-server.bat停止Terracotta  server。

        最常見(jiàn)的應(yīng)用Terracotta 的場(chǎng)景是分布式緩存、Session復(fù)制和網(wǎng)格計(jì)算等。通過(guò)Terracotta 在集群中共享的對(duì)象不必是可序列化的(但必須是portable的,portable是Terracotta 引進(jìn)的一個(gè)概念,會(huì)在以后詳細(xì)介紹)。當(dāng)集群中的某個(gè)應(yīng)用對(duì)共享對(duì)象進(jìn)行修改的時(shí)候,這些修改會(huì)被同步到Terracotta server。Terracotta server可以對(duì)這些修改進(jìn)行持久化保存,同時(shí)Terracotta server可以被配置成Master/Slave模式,這些都提供了高可用性。

        設(shè)想一個(gè)使用Terracotta 進(jìn)行Session復(fù)制的場(chǎng)景: Tomcat A、B和C通過(guò)TerraCotta進(jìn)行session復(fù)制,如果使用sticky load balancing,那么相同session的多個(gè)請(qǐng)求都會(huì)被發(fā)送到相同的Tomcat,比如A。A對(duì)該session的修改會(huì)被同步到Terracotta server,但是Terracotta server不會(huì)將這些修改同步到B和C(因?yàn)樵贐和C上不會(huì)訪問(wèn)到這個(gè)session),這樣就減少了數(shù)據(jù)同步的次數(shù)。假設(shè)A由于某種故障而停止,那么load balancer可能會(huì)將該session的請(qǐng)求發(fā)送給B,在B的應(yīng)用訪問(wèn)這個(gè)session的時(shí)候,TerraCotta才會(huì)將A之前對(duì)這個(gè)session的修改同步到B。此外,由于Terracotta 在同步的時(shí)候并沒(méi)有使用序列化機(jī)制,因此它在同步數(shù)據(jù)的時(shí)候并不是每次都將整個(gè)session對(duì)象序列化后進(jìn)行傳輸,而只是對(duì)session里改變的部分進(jìn)行同步(Terracotta 使用了字節(jié)碼加強(qiáng)的技術(shù),攔截了包括內(nèi)存讀寫(xiě)在內(nèi)的指令),這樣就大大減少了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。

    本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
    打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
    猜你喜歡
    類(lèi)似文章
    【轉(zhuǎn)】分布式環(huán)境下5種session處理策略(大型網(wǎng)站技術(shù)架構(gòu):核心原理與案例分析 里面的方案)
    terracotta和jetty7.5集群實(shí)現(xiàn)session共享
    集群中幾種session同步解決方案的比較
    構(gòu)建可擴(kuò)展的Java EE應(yīng)用(二)
    apache jk tomcat集群 session同步
    Apache+Tomcat集群配置+session共享
    更多類(lèi)似文章 >>
    生活服務(wù)
    分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
    綁定賬號(hào)成功
    后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
    如果VIP功能使用有故障,
    可點(diǎn)擊這里聯(lián)系客服!

    聯(lián)系客服