# 云架構
云架構(cloud architecture)主要解決擴展性和并發的問題,是最容易擴展的架構。
它的高擴展行,主要原因是沒有使用中央數據庫,而是把數據庫都復制到內存中,變成可復制的內存數據單元。然后,業務處理能力封裝成一個個單元(processing unit)。訪問量增加,就新建處理單元;訪問量減少,就關閉處理單元。由于沒有中央數據庫,所以擴展性的最大瓶頸消失了。由于每個處理單元的數據都在內存里,最好要進行數據持久化。
這個模式主要分成兩個部分:處理單元(processing unit)和虛擬中間件(virtualized middleware)。
>* 處理單元:實現業務邏輯
>* 虛擬中間件:負責通信、保持sessions、數據復制、分布式處理、處理單元的部署

虛擬中間件又包含四個組件:
>* 消息中間件(Messaging Grid):管理用戶請求和session,當一個請求進來以后,決定分配給哪一個處理單元。
>* 數據中間件(Data Grid):將數據復制到每一個處理單元,即數據同步。保證某個處理單元都得到同樣的數據。
>* 處理中間件(Processing Grid):可選,如果一個請求涉及不同類型的處理單元,該中間件負責協調處理單元
>* 部署中間件(Deployment Manager):負責處理單元的啟動和關閉,監控負載和響應時間,當負載增加,就新啟動處理單元,負載減少,就關閉處理單元。
優點
>* 高負載,高擴展性
>* 動態部署
缺點
>* 實現復雜,成本較高
>* 主要適合網站類應用,不適合大量數據吞吐的大型數據庫應用
>* 較難測試