標籤:style blog http os ar strong sp 檔案 資料
一直以來,MySQL因為開源,誕生了很多擴充方案,類似Amoeba、Atlas、Cobar、MySQLProxy等,大都基於MySQL通訊協定來定製解決方案,讓我們很羨慕嫉妒,但沒辦法,Microsoft沒有提供類似的方案,但現在,有了SqlServerProxy,為我們帶來了曙光,可以基於我們自己的要求來定製。
圖1、 SqlServerProxy的基本部署架構
SqlServerProxy的特性是最大化釋放我們掌握的技能,只有根據業務需求定製的,才能夠符合我們完美的期望。業務需求定製最關鍵的部分是請求分發,有的即時性要求高,有的低,一個大統一的解決方案未必能滿足。SqlServerProxy有一個特性,提供了基於Regex匹配的請求分發實現,只需要修改設定檔,就能輕易滿足。除此之外,還有其它一下特性。
相容性,對應用程式透明,不需要版本升級就相容SQL Server 2000 到 SQL Server 2014的所有版本。
內建命令,能方便查看SqlServerProxy曆史、即時、單個用戶端的通訊量、請求數、事務數等。
介面定製,預設提供基於Regex匹配的介面不夠用等原因,可以實現特定介面,將自己的義務邏輯封裝進去,最大化提升負載平衡的能力。
相容性很容易理解,內建命令是特定的Sql語句,返回SqlServerProxy內部統計資訊,例如在SqlServerProxy監聽的連接埠上執行“SELECT vt_active;”將返回下列列表列資訊:
圖2、內建查看活動會話的命令
還提供了一個查看即時資料流量、請求數的內建命令,這個該是查看負載比較有用的命令。
圖3、查看即時統計的命令
介面定製,提供了5個可自訂的介面,但最關鍵的一個是決定請求分發的介面,在SqlServerProxy中,只要引用“Akuma.Contract.dll”程式集,實現裡面的“ISlaveProvider”介面,再修改採用“Microsoft.Practices.Unity”注入的設定檔“SqlServerProxy.exe.config”,就能專心的按照商務邏輯來最大化負載平衡能力了。
詳細方面,包括所有可用命令,可以下載SqlServerProxy後查看相關文檔。
不過,SqlServerProxy目前沒有內建資料分區的功能,資料分區需要和特定業務相關,估計要特別定製才行(需要的話聯絡我)。
還有就是,從圖1也可以看出來,SqlServerProxy不做資料同步,資料同步需要依賴資料庫複寫等技術,但分擔了主伺服器的壓力,應能加快資料同步的速度,達到准即時資料的水平。
:http://www.projky.com/downloads/3a382709-d680-476c-853d-dc3af5c625de/SqlServerProxy.zip
本文部落格地址:http://www.cnblogs.com/ProJKY/p/SqlServerProxy.html 郵箱:[email protected] 希望大家多指教。
SqlServer橫向擴充負載平衡終極利器SqlServerProxy