一直以來,MySQL因?yàn)殚_源,誕生了很多擴(kuò)展方案,類似Amoeba、Atlas、Cobar、MySQLProxy等,大都基于MySQL通信協(xié)議來定制解決方案,讓我們很羨慕嫉妒,但沒辦法,Microsoft沒有提供類似的方案,但現(xiàn)在,有了SqlServerProxy,為我們帶來了曙光,可以基于我們自己的要求來定制。
圖1、 SqlServerProxy的基本部署架構(gòu)
SqlServerProxy的特性是最大化釋放我們掌握的技能,只有根據(jù)業(yè)務(wù)需求定制的,才能夠符合我們完美的期望。業(yè)務(wù)需求定制最關(guān)鍵的部分是請(qǐng)求分發(fā),有的實(shí)時(shí)性要求高,有的低,一個(gè)大統(tǒng)一的解決方案未必能滿足。SqlServerProxy有一個(gè)特性,提供了基于正則表達(dá)式匹配的請(qǐng)求分發(fā)實(shí)現(xiàn),只需要修改配置文件,就能輕易滿足。除此之外,還有其它一下特性。
兼容性,對(duì)應(yīng)用程序透明,不需要版本升級(jí)就兼容SQL Server 2000 、SQL Server 2005、SQL Server 2008、SQL Server 2008 R2、SQL Server 2012、 SQL Server 2014的所有版本。
內(nèi)置命令,能方便查看SqlServerProxy歷史、實(shí)時(shí)、單個(gè)客戶端的通信量、請(qǐng)求數(shù)、事務(wù)數(shù)等。
接口定制,默認(rèn)提供基于正則表達(dá)式匹配的接口不夠用等原因,可以實(shí)現(xiàn)特定接口,將自己的義務(wù)邏輯封裝進(jìn)去,最大化提升負(fù)載均衡的能力。
兼容性很容易理解,內(nèi)置命令是特定的Sql語句,返回SqlServerProxy內(nèi)部統(tǒng)計(jì)信息,例如在SqlServerProxy監(jiān)聽的端口上執(zhí)行“SELECT vt_active;”將返回下列列表列信息:
圖2、內(nèi)置查看活動(dòng)會(huì)話的命令
還提供了一個(gè)查看實(shí)時(shí)流量、請(qǐng)求數(shù)的內(nèi)置命令,這個(gè)該是查看負(fù)載比較有用的命令。
圖3、查看實(shí)時(shí)統(tǒng)計(jì)的命令
接口定制,提供了5個(gè)可自定義的接口,但最關(guān)鍵的一個(gè)是決定請(qǐng)求分發(fā)的接口,在SqlServerProxy中,只要引用“Akuma.Contract.dll”程序集,實(shí)現(xiàn)里面的“ISlaveProvider”接口,再修改采用“Microsoft.Practices.Unity”注入的配置文件“SqlServerProxy.exe.config”,就能專心的按照業(yè)務(wù)邏輯來最大化負(fù)載均衡能力了。
詳細(xì)方面,包括所有可用命令,可以下載SqlServerProxy后查看相關(guān)文檔。
不過,SqlServerProxy目前沒有內(nèi)置數(shù)據(jù)分片的功能,數(shù)據(jù)分片需要和特定業(yè)務(wù)相關(guān),估計(jì)要特別定制才行(需要的話聯(lián)系我)。
還有就是,從圖1也可以看出來,SqlServerProxy不做數(shù)據(jù)同步,數(shù)據(jù)同步需要依賴數(shù)據(jù)庫(kù)復(fù)制等技術(shù),但分擔(dān)了主服務(wù)器的壓力,應(yīng)能加快數(shù)據(jù)同步的速度,達(dá)到準(zhǔn)實(shí)時(shí)數(shù)據(jù)的水平。
最新版對(duì).NET Framework版本要求降到了.NET 4,現(xiàn)在支持Windows xp和Windows Server 2003了,詳見安裝文檔。
下載地址:http://www.projky.com/downloads/3a382709-d680-476c-853d-dc3af5c625de/SqlServerProxy.zip
本文博客地址:http://www.cnblogs.com/ProJKY/p/SqlServerProxy.html 郵箱:projky@126.com 希望大家多指教。
最近更新:
SqlServerProxy現(xiàn)在已無日期限制,所有功能全部免費(fèi)使用。
發(fā)現(xiàn)bug后或者疑問,可以加QQ:1781575586,免費(fèi)修改及咨詢,加Q時(shí),麻煩說明下,否則一律不加。
另外,從服務(wù)器的配置連接密碼支持加密,詳情請(qǐng)查看《4、實(shí)踐手冊(cè).txt》第7條。
新聞熱點(diǎn)
疑難解答
圖片精選