<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-9  評論-168  文章-266  trackbacks-0
      Coherence是什么
      Coherence是Oracle為了建立一種高可靠和高擴展集群計算的一個關(guān)鍵部件,集群指的是多于一個應用服務器參與到運算里。Coherence的主要用途是共享一個應用的對象(主要是java對象,比如Web應用的一個會話java對象)和數(shù)據(jù)(比如數(shù)據(jù)庫數(shù)據(jù),通過OR-MAPPING后成為Java對象)。
      簡單來說,就是當一個應用把它的對象或數(shù)據(jù)托管給Coherence管理的時候,該對象或數(shù)據(jù)就能夠在整個集群環(huán)境(多個應用服務器節(jié)點)共享,應用程序可以非常簡單地調(diào)用get方法取得該對象,并且由于Coherence本身的冗余機制使得任何一個應用服務器節(jié)點的失敗都不會影響到該對象的丟失。其實如果不使用coherence,對于一個會話在多個應用服務器節(jié)點的共享一般是通過應用服務器本身的集群技術(shù),而Coherence的創(chuàng)造者則認為基于某種應用服務器技術(shù)的集群技術(shù)來共享會話變量的技術(shù)并不完整,而專門開發(fā)出Coherence這個產(chǎn)品(原來稱為tangosol)并且最后被Oracle收購,這個產(chǎn)品既有原來各種應用服務器集群所具有的各種技術(shù)特點,而且又增加了原來各種應用服務器集群技術(shù)所沒有的各種特性。
      要學習這個產(chǎn)品,需要記住并注意的一點是:Coherence所有的設(shè)計都是基于多個(可以是非常多)的JVM,很多Coherence的測試都是使用幾十甚至上百個節(jié)點來進行的。
      Coherence的一些技術(shù)特點
      Coherence產(chǎn)品首先是被設(shè)計用于高擴展性:
      所謂高擴展性就是當一個應用服務器能夠處理2000筆交易,則10個應用服務器應該能夠處理20000筆交易。
      一般而言,整個應用架構(gòu)的擴展性由架構(gòu)里的最不能擴展的部位(稱之為瓶頸)決定,這個瓶頸一般而言都是數(shù)據(jù)源的處理,Coherence針對這種理解提供了應用層的數(shù)據(jù)共享緩沖,任何一個時候如果應用能夠從這個數(shù)據(jù)緩沖里滿足要求,則不會將請求發(fā)給數(shù)據(jù)源,從而極大地增強一般的瓶頸(數(shù)據(jù))的擴展性。
      為了加強數(shù)據(jù)的寫處理性能,Coherence還設(shè)計了延遲寫的功能,就是應用的寫會先緩存在Coherence的緩沖區(qū),然后延遲寫到數(shù)據(jù)庫里,為了減輕數(shù)據(jù)源的寫壓力,Coherence只把最近的更改寫到數(shù)據(jù)源,比如一條數(shù)據(jù)被更改了多遍,則只有最后的更改會被提交到數(shù)據(jù)源。而且,如果可能,多個SQL語句會被變成一個SQL語句批,一次提交給數(shù)據(jù)源,這樣又極大地降低了對數(shù)據(jù)源的壓力。
      熟悉于數(shù)據(jù)庫應用程序,參加過性能測試的有經(jīng)驗的朋友應該知道這非常多的場合,上述Coherence的特點剛好是對應了非常多的經(jīng)常遇到的應用出現(xiàn)問題的場景。
      即Coherence被放在應用服務器和數(shù)據(jù)庫服務器之間,從而解決通常應用架構(gòu)里的瓶頸(數(shù)據(jù)瓶頸)來提高整個應用架構(gòu)的可擴展性。
      Coherence的第二個非常重要的特地是支持數(shù)據(jù)的分區(qū)處理,就是如果有N個處理節(jié)點,則每個節(jié)點只管理1/N的數(shù)據(jù),當一個節(jié)點失效時,該節(jié)點的數(shù)據(jù)會在剩下的節(jié)點均分,每個節(jié)點將管理1/(N-1)的數(shù)據(jù)。同樣的,當一個節(jié)點增加進來時,則每一個節(jié)點都會分配一部分數(shù)據(jù)給新的節(jié)點,則最終每個節(jié)點只管理1/(N+1)的數(shù)據(jù)。大家知道,一般應用服務器的集群都有只能緩沖共享2G java對象的缺點,而Coherence這種設(shè)計讓Coherence能夠處理非常多的數(shù)據(jù),只需要通過增加節(jié)點的數(shù)量,就可以處理更多的數(shù)據(jù)。
      如果安裝了Coherence,則應用服務器不需要配置專有的服務器集群技術(shù),因為Coherence*web模塊提供了可用于處理http會話信息在Coherence集群內(nèi)共享的功能,當一個節(jié)點需要讀取HTTP會話信息而發(fā)現(xiàn)自己沒有該會話信息的時候,它會把請求同時發(fā)給所有的節(jié)點(multicast),而當一個節(jié)點需要寫HTTP會話信息的同時,它也會把寫請求發(fā)給所有的節(jié)點,所以2個節(jié)點的處理和100個節(jié)點的處理都是一樣的。
      1. Caching:正如Coherence的別名是Data Grid,Coherence在這種場景主要是被用于緩存數(shù)據(jù)源的數(shù)據(jù),當應用需要數(shù)據(jù)時,直接從Coherence里面取得而不是從后臺數(shù)據(jù)源取得。比如用于緩存用戶的個人設(shè)置信息。這種使用方式可以極大降低對后臺數(shù)據(jù)源的壓力,并且甚至當后臺數(shù)據(jù)源不可用的時候也不影響系統(tǒng)的可用性。
      2. Analytics:用于查詢,從簡單查詢到復雜查詢,比如用于查詢金融交易系統(tǒng)的投資者持倉信息(非常密集的查詢)。這種使用方式還可以使用多個節(jié)點的并發(fā)查詢。
      3. Transactions:在Coherence直接處理交易,可以在Coherence直接提交交易,從而得到極快的響應速度和高可擴展性。
      4. Events:Coherence里可以使用事件驅(qū)動的架構(gòu),能夠?qū)κ录龀鰧崟r的處理。比如在線游戲使用EDA架構(gòu)處理“武器”,“裝備”的買賣交易。
    posted on 2011-01-13 10:44 紫蝶∏飛揚↗ 閱讀(741) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲成a人片在线观看无码| 亚洲国产精品专区在线观看 | 911精品国产亚洲日本美国韩国| 国产h视频在线观看网站免费| 亚洲综合无码精品一区二区三区| 亚洲熟妇AV日韩熟妇在线| 日本成人免费在线| 久久精品免费观看国产| 免费看黄网站在线看| 欧洲 亚洲 国产图片综合| 亚洲丝袜美腿视频| 亚洲高清专区日韩精品| 日韩亚洲国产二区| 国产一级一片免费播放| 精品少妇人妻AV免费久久洗澡 | 亚洲麻豆精品国偷自产在线91| 最近的免费中文字幕视频| 99热在线日韩精品免费| 国产一级片免费看| 免费无码又爽又刺激网站直播| 国内精品免费久久影院| 中文字幕无线码免费人妻| 嫩草在线视频www免费看| 18禁超污无遮挡无码免费网站 | 亚洲麻豆精品果冻传媒| 亚洲天堂一区在线| 亚洲AV女人18毛片水真多| 亚洲国产成人手机在线观看| 视频一区二区三区免费观看| 男女猛烈无遮掩视频免费软件| eeuss影院免费直达入口| 在线观看黄片免费入口不卡| 全部免费毛片在线播放| 97无码免费人妻超级碰碰碰碰| 吃奶摸下高潮60分钟免费视频| 亚洲国产精品尤物YW在线观看 | 一区二区三区无码视频免费福利| 成人黄色免费网站| 亚洲永久精品ww47| 亚洲欧美成人综合久久久| 可以免费观看的国产视频|