Windows Server AppFabric分布式緩衝研究

來源:互聯網
上載者:User

標籤:remove   rac   調整   font   不同的   設定   app   叢集   security   

分享一則先前對Windows Server AppFabric分布式緩衝的技術研究。

一. AppFabric 技術架構和原理

AppFabric與Memcached類似,採用C/S的模式,在 server 端啟動服務進程,在啟動時可以指定監聽的 ip,自己的連接埠號碼,所使用的記憶體大小等幾個關鍵參數。一旦啟動,服務就一直處於可用狀態。

適用於使用 ASP.NET、Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 產生的應用程式。

Windows Server AppFabric 具有三項核心功能:分布式緩衝、工作流程管理和服務管理。

  • ? 針對 Web 應用程式,Windows Server AppFabric 提供了緩衝功能,為應用程式資料提供快取、擴充性及高可用性等特性,藉此避免對資料來源進行不必要的調用。
  • ? 針對複合應用程式,Windows Server AppFabric 則讓使用者能更輕鬆地構建和管理 Windows Workflow Foundation 和 Windows Communication Foundation 所構建的服務。
  • ? Windows Server AppFabric 能夠有效地簡化這些複合應用程式的開發、部署及管理工作。

當用戶端第一次擷取一些資料的時候,如ASP.NET應用程式使用者提供一些資訊資料,或者從資料庫中讀取的資訊,它可以使用AppFabric Caching Services用戶端類庫將一個唯一的名稱和這些資訊一起存放在快取叢集中( cache cluster)。對於用戶端來說,緩衝叢集中的所有快取服務器就是單一的邏輯儲存。用戶端既不知道也不關心的哪台物理伺服器的緩衝哪些資料。

Windows Server AppFabric Caching 主要特點有:

  • ? 任何可以被序列化的 CLR 對象都可以通過簡單的 Cache API 將資料緩衝
  • ? 支援企業規模:可支援上百台主機的伺服器架構
  • ? 可彈性的調整配置,並通過網路快取服務
  • ? 支援動態調整規模,可隨時新增節點
  • ? 支援高可用性架構
  • ? 自動Server Load Balancer
  • ? 可與 Event Tracing for Windows (ETW), System Center 等機制整合管理與監控
  • ? 提供與 ASP.NET 的無縫整合,將 Session 資料儲存至緩衝,也可在 Web farm 架構下將應用程式資料緩衝 ,減少資料庫大量讀取的負擔
  • ? 第一版遵循 cache-aside architecture ( 明確快取, Explicit Caching ),意即你必須在你的應用程式中明確指明你要新增(Put)或移除(Remove)快取的項目,所有快取資料並不會自動與任何來源資料庫進行同步。

二. AppFabric 邏輯架構

具名快取也是一種緩衝,可以為應用程式配置一個或者多個具名快取,各個具名快取可以配置成相互獨立的,這樣可以單獨配置每個具名快取以達到最優的效能。

三. 程式碼範例

1. 測試環境配置

? 雙節點的AppFabric叢集
? Windows Server 2012測試環境
? Windows Server AppFabric 1.1
? 主節點: 10.24.13.27 administrator/Test1234
? 從節點: 10.24.12.206 administrator/Test1234
? AppFabric快取服務配置共用檔案路徑:\\WIN-5SF1MT124FA\Cache
? 快取服務設定檔:\\WIN-5SF1MT124FA\GSPCache\ ClusterConfig.xml
? 連接埠配置:

   

    顯示緩衝配置:

   

 2. 應用程式配置緩衝

    App.Config/Web.Config增加配置節:

   

   

3. 範例程式碼

 

4. DataCache類的主要方法

   

   

   

四、安裝部署配置AppFabric

    1. 安裝前準備,啟用Windows Update服務

  

 

在主節點上建立共用的檔案夾:

保證在同工作群組的機器中不需要輸入使用者名稱和密碼便可訪問共用的檔案夾:

\\WIN-5SF1MT124FA\Cache

2. 安裝AppFabric並配置成叢集

3. 安裝其他的AppFabric並加入叢集

安裝第二個AppFabric和第一個類似,不同的是配置AppFabric不同

4. 設定並啟動AppFabric叢集

以管理員身份運行Windows PowerShell

順序執行下面這些Command :

增加一個分布式Cache管理模組

Import-Module DistributedCacheAdministration

設定cache cluster

Use-CacheCluster

授權你的某個帳戶 domain\username :

Grant-CacheAllowedClientAccount WIN-5SF1MT124FA \Administrator

驗證授權是否成功:

Get-CacheAllowedClientAccounts

設定安全模式和保護層級:

Set-CacheClusterSecurity -ProtectionLevel None -SecurityMode None

最後啟動:

Start-CacheCluster

、常用命令

   1.Start-CacheCluster
   2.Stop-CacheCluster
   3.Get-CacheHost 可以得到所有的Cache主機
   4.Start-CacheHost GFTEST:22233 啟動一個Cache主機
   5.Stop-CacheHost GFTEST:22233 停止一個Cache主機
   6.Get-CacheAllowedClientAccounts 得到授權的使用者.
   7.Grant-CacheAllowedClientAccount NetworkService 給使用者授權
   8.Export-CacheClusterConfig -File E:\VelocityCache\ClusterConfig.xml
   9.Import-CacheClusterConfig -File E:\VelocityCache\ClusterConfig.xml

  10.Get-CacheStatistics default 得到預設或當前cache的詳細統計結果。

六、效能測試

1. 兩個節點的虛擬機器效能測試結果

2. 兩個節點的物理伺服器效能測試結果

3.並行讀寫緩衝

 

 

周國慶

2017/6/21

Windows Server AppFabric分布式緩衝研究

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.