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

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

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

    paulwong

    Oracle Coherence 概述

      Coherence是什么

      Coherence是Oracle為了建立一種高可靠和高擴展集群計算的一個關鍵部件,集群指的是多于一個應用服務器參與到運算里。Coherence的主要用途是共享一個應用的對象(主要是java對象,比如Web應用的一個會話java對象)和數據(比如數據庫數據,通過OR-MAPPING后成為Java對象)。

      簡單來說,就是當一個應用把它的對象或數據托管給Coherence管理的時候,該對象或數據就能夠在整個集群環境(多個應用服務器節點)共享,應用程序可以非常簡單地調用get方法取得該對象,并且由于Coherence本身的冗余機制使得任何一個應用服務器節點的失敗都不會影響到該對象的丟失。其實如果不使用coherence,對于一個會話在多個應用服務器節點的共享一般是通過應用服務器本身的集群技術,而Coherence的創造者則認為基于某種應用服務器技術的集群技術來共享會話變量的技術并不完整,而專門開發出Coherence這個產品(原來稱為tangosol)并且最后被Oracle收購,這個產品既有原來各種應用服務器集群所具有的各種技術特點,而且又增加了原來各種應用服務器集群技術所沒有的各種特性。

      要學習這個產品,需要記住并注意的一點是:Coherence所有的設計都是基于多個(可以是非常多)的JVM,很多Coherence的測試都是使用幾十甚至上百個節點來進行的。

      Coherence的一些技術特點

      Coherence產品首先是被設計用于高擴展性:

      所謂高擴展性就是當一個應用服務器能夠處理2000筆交易,則10個應用服務器應該能夠處理20000筆交易。

      一般而言,整個應用架構的擴展性由架構里的最不能擴展的部位(稱之為瓶頸)決定,這個瓶頸一般而言都是數據源的處理,Coherence針對這種理解提供了應用層的數據共享緩沖,任何一個時候如果應用能夠從這個數據緩沖里滿足要求,則不會將請求發給數據源,從而極大地增強一般的瓶頸(數據)的擴展性。

      為了加強數據的寫處理性能,Coherence還設計了延遲寫的功能,就是應用的寫會先緩存在Coherence的緩沖區,然后延遲寫到數據庫里,為了減輕數據源的寫壓力,Coherence只把最近的更改寫到數據源,比如一條數據被更改了多遍,則只有最后的更改會被提交到數據源。而且,如果可能,多個SQL語句會被變成一個SQL語句批,一次提交給數據源,這樣又極大地降低了對數據源的壓力。

      熟悉于數據庫應用程序,參加過性能測試的有經驗的朋友應該知道這非常多的場合,上述Coherence的特點剛好是對應了非常多的經常遇到的應用出現問題的場景。

      即Coherence被放在應用服務器和數據庫服務器之間,從而解決通常應用架構里的瓶頸(數據瓶頸)來提高整個應用架構的可擴展性。

      Coherence的第二個非常重要的特地是支持數據的分區處理,就是如果有N個處理節點,則每個節點只管理1/N的數據,當一個節點失效時,該節點的數據會在剩下的節點均分,每個節點將管理1/(N-1)的數據。同樣的,當一個節點增加進來時,則每一個節點都會分配一部分數據給新的節點,則最終每個節點只管理1/(N+1)的數據。大家知道,一般應用服務器的集群都有只能緩沖共享2G java對象的缺點,而Coherence這種設計讓Coherence能夠處理非常多的數據,只需要通過增加節點的數量,就可以處理更多的數據。

      如果安裝了Coherence,則應用服務器不需要配置專有的服務器集群技術,因為Coherence*web模塊提供了可用于處理http會話信息在Coherence集群內共享的功能,當一個節點需要讀取HTTP會話信息而發現自己沒有該會話信息的時候,它會把請求同時發給所有的節點(multicast),而當一個節點需要寫HTTP會話信息的同時,它也會把寫請求發給所有的節點,所以2個節點的處理和100個節點的處理都是一樣的。

      1. Caching:正如Coherence的別名是Data Grid,Coherence在這種場景主要是被用于緩存數據源的數據,當應用需要數據時,直接從Coherence里面取得而不是從后臺數據源取得。比如用于緩存用戶的個人設置信息。這種使用方式可以極大降低對后臺數據源的壓力,并且甚至當后臺數據源不可用的時候也不影響系統的可用性。

      2. Analytics:用于查詢,從簡單查詢到復雜查詢,比如用于查詢金融交易系統的投資者持倉信息(非常密集的查詢)。這種使用方式還可以使用多個節點的并發查詢。

      3. Transactions:在Coherence直接處理交易,可以在Coherence直接提交交易,從而得到極快的響應速度和高可擴展性。

      4. Events:Coherence里可以使用事件驅動的架構,能夠對事件做出實時的處理。比如在線游戲使用EDA架構處理“武器”,“裝備”的買賣交易。

    posted on 2012-01-28 00:01 paulwong 閱讀(439) 評論(0)  編輯  收藏 所屬分類: Apache Shiro

    主站蜘蛛池模板: 222www免费视频| 四虎影视永久免费观看地址 | 亚洲国产高清人在线| 香蕉视频在线免费看| 亚洲中文字幕成人在线| 一本到卡二卡三卡免费高| 亚洲男人的天堂一区二区| jizz免费观看| 亚洲综合日韩久久成人AV| 国产特黄一级一片免费 | 亚洲成熟xxxxx电影| 一级毛片成人免费看免费不卡| 亚洲AV无码1区2区久久| 无码A级毛片免费视频内谢| 亚洲a在线视频视频| 最近免费最新高清中文字幕韩国| 久久亚洲国产精品成人AV秋霞| 国产免费不卡视频| 亚洲国产精品网站在线播放| 四虎永久免费地址在线网站| 精品一区二区三区免费观看| 久久精品亚洲日本佐佐木明希| 2019中文字幕在线电影免费| 亚洲自国产拍揄拍| 亚洲国产一级在线观看| 久久久久久av无码免费看大片| 久久亚洲综合色一区二区三区| 欧洲人成在线免费| 亚洲最大的黄色网| 免费在线观看中文字幕| 精品免费视在线观看| 亚洲日产2021三区在线| 国产一级淫片a视频免费观看| 97在线免费观看视频| 亚洲欧洲精品视频在线观看| 午夜无遮挡羞羞漫画免费| 亚洲成a人片在线观看中文动漫 | 在线观着免费观看国产黄| fc2免费人成在线视频| 91情国产l精品国产亚洲区| 日韩精品免费电影|