<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)站導航:
     
    主站蜘蛛池模板: 亚洲日韩中文字幕一区| 亚洲精品偷拍视频免费观看| 国产成人免费手机在线观看视频| 亚洲国产成人AV网站| 亚洲人成色77777| 久久精品免费全国观看国产| 美女被羞羞网站免费下载| 亚洲AV无码一区二区三区DV| 成全视频在线观看免费高清动漫视频下载| 无套内射无矿码免费看黄| 亚洲国产天堂久久综合网站| 大学生a级毛片免费观看| 成人A毛片免费观看网站| 国产精品亚洲精品| 亚洲中文字幕无码日韩| 成人毛片视频免费网站观看| 99久久国产精品免费一区二区| 亚洲一区二区三区丝袜| 亚洲爆乳无码专区| 亚洲?v无码国产在丝袜线观看| 午夜免费福利片观看| 免费人成动漫在线播放r18| 亚洲精品影院久久久久久| 亚洲视频在线精品| 四虎在线免费播放| 91精品视频在线免费观看| 成人一级免费视频| 亚洲精品人成网线在线播放va| 久久久久亚洲AV无码网站| 在线观看亚洲成人| 国产免费爽爽视频免费可以看| 国产精品视频永久免费播放| 免费观看男人吊女人视频| 免费无遮挡无遮羞在线看| 亚洲av无码一区二区三区在线播放| 久久亚洲国产成人精品性色| 亚洲无av在线中文字幕| 亚洲精品国产va在线观看蜜芽| 超pen个人视频国产免费观看| 2021国产精品成人免费视频| 污污网站免费观看|