欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

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

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

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

Terracotta in Action(1)

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

    1.  Introduction

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

     

     

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

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


        其左側樹(shù)形控件的Servers節點(diǎn)會(huì )顯示連接到的Terracotta server的詳細信息。此時(shí)由于沒(méi)有客戶(hù)端程序連接到Terracotta server,因此Cluster Object節點(diǎn)和Clients節點(diǎn)內容為空。接下來(lái)演示一個(gè)Terracotta 附帶的例子應用。通過(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 管理控制臺,可以看到Clients節點(diǎn)中包含了兩個(gè)客戶(hù)端程序的信息。Cluster Object節點(diǎn)中包含了共享對象的信息。此時(shí)如果把所有的Shared Editor都關(guān)閉,那么Clients節點(diǎn)的內容變?yōu)榭?,但是Cluster Object節點(diǎn)中仍然包含了共享對象的信息。如果再次啟動(dòng)一個(gè)Shared Editor,那么這個(gè)Shared Editor中會(huì )顯示之前的Shared Editor關(guān)閉時(shí)的圖形。最后,通過(guò)bin目錄中的stop-tc-server.bat停止Terracotta  server。

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

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

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

    聯(lián)系客服

    欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久