视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
SqlServer横向扩展负载均衡终极利器SqlServerProxy
2020-11-09 15:37:07 责编:小采
文档


一直以来,MySQL因为开源,诞生了很多扩展方案,类似Amoeba、Atlas、Cobar、MySQLProxy等,大都基于MySQL通信协议来定制解决方案,让我们很羡慕嫉妒,但没办法,Microsoft没有提供类似的方案,但现在,有了SqlServerProxy,为我们带来了曙光,可以基于我们自

一直以来,MySQL因为开源,诞生了很多扩展方案,类似Amoeba、Atlas、Cobar、MySQLProxy等,大都基于MySQL通信协议来定制解决方案,让我们很羡慕嫉妒,但没办法,Microsoft没有提供类似的方案,但现在,有了SqlServerProxy,为我们带来了曙光,可以基于我们自己的要求来定制。

图1、 SqlServerProxy的基本部署架构

SqlServerProxy的特性是最大化释放我们掌握的技能,只有根据业务需求定制的,才能够符合我们完美的期望。业务需求定制最关键的部分是请求分发,有的实时性要求高,有的低,一个大统一的解决方案未必能满足。SqlServerProxy有一个特性,提供了基于正则表达式匹配的请求分发实现,只需要修改配置文件,就能轻易满足。除此之外,还有其它一下特性。

兼容性,对应用程序透明,不需要版本升级就兼容SQL Server 2000 到 SQL Server 2014的所有版本。

内置命令,能方便查看SqlServerProxy历史、实时、单个客户端的通信量、请求数、事务数等。

接口定制,默认提供基于正则表达式匹配的接口不够用等原因,可以实现特定接口,将自己的义务逻辑封装进去,最大化提升负载均衡的能力。

兼容性很容易理解,内置命令是特定的Sql语句,返回SqlServerProxy内部统计信息,例如在SqlServerProxy监听的端口上执行“SELECT vt_active;”将返回下列列表列信息:

图2、内置查看活动会话的命令

还提供了一个查看实时流量、请求数的内置命令,这个该是查看负载比较有用的命令。

图3、查看实时统计的命令

接口定制,提供了5个可自定义的接口,但最关键的一个是决定请求分发的接口,在SqlServerProxy中,只要引用“Akuma.Contract.dll”程序集,实现里面的“ISlaveProvider”接口,再修改采用“Microsoft.Practices.Unity”注入的配置文件“SqlServerProxy.exe.config”,就能专心的按照业务逻辑来最大化负载均衡能力了。

详细方面,包括所有可用命令,可以下载SqlServerProxy后查看相关文档。

不过,SqlServerProxy目前没有内置数据分片的功能,数据分片需要和特定业务相关,估计要特别定制才行(需要的话联系我)。

还有就是,从图1也可以看出来,SqlServerProxy不做数据同步,数据同步需要依赖数据库复制等技术,但分担了主服务器的压力,应能加快数据同步的速度,达到准实时数据的水平。

最新版对.NET Framework版本要求降到了.NET 4,现在支持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 希望大家多指教。

下载本文
显示全文
专题