SqlServer横向扩展负载均衡终极利器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不做数据同步,数据同步需要依赖数据库复制等技术,但分担了主服务器的压力,应能加快数据同步的速度,达到准实时数据的水平。

下载地址:http://www.projky.com/downloads/3a382709-d680-476c-853d-dc3af5c625de/SqlServerProxy.zip

本文博客地址:http://www.cnblogs.com/ProJKY/p/SqlServerProxy.html    邮箱:[email protected] 希望大家多指教。

时间: 2024-11-05 13:37:35

SqlServer横向扩展负载均衡终极利器SqlServerProxy的相关文章

大型网站--负载均衡架构

负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 大型网站负载均衡的利器 全局负载均衡系统(GSLB) 内容缓存系统(CDN) 服务器负载均衡系统(SLB) DNS域名解析的基本过程 最初的负载均衡解决方案(DNS轮询) 优点 基本上无成本,因为往往域名注册商的这种解析都是免费的: 部署方便,除了网络拓扑的简单扩增,新增的Web服务器只要增加一个公网I

解析Nginx负载均衡

摘要:对于一个大型网站来说,负载均衡是永恒的话题.随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP.Citrix NetScaler.Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不二之选.nginx作为webserver的后起之秀,其优秀的反向代理功能和灵活的负载均衡策略受到了业界广泛的关注.本文将以工业生产为背景,从设计实现和具体应用等方面详细介绍nginx负载均衡策略. 关键字:nginx 负载均衡

我的项目经验总结——负载均衡的理解和实战:1

前言 目前接触的一个服务,它的7层负载均衡使用Nginx,4层使用的是我司自研的弹性负载均衡ELB. 而本文介绍和实战的是工作在4层负载均衡之一的LVS(Linux Virtual Server),权当抛砖引玉,实战是从工作中简化而来. 概念 章文嵩博士在 1998 年 5 月成立了 Linux Virtual Server 的自由软件项目,进行Linux服务器集群的开发工作,并且在 Linux2.4 以后的版本中,直接将 LVS 加入内核中,不用在重新自行编译进内核. 看到这里很汗颜,这是人家

配置SQL Server 2008的资源调控器实现负载均衡

原文:配置SQL Server 2008的资源调控器实现负载均衡 转自:http://www.ithov.com/server/93267.shtml 1.为什么引入"资源调控器"? 在SQL Server 2008之前,数据库引擎曾尝试为所有并发用户提供均衡的性能,这使我们几乎无法控制分配给用户或工作负载的优先级,而且随着并发登录的增加会雪上加霜."资源调控器"有助于防止性能问题,并识别正在使用的应用程序."资源调控器"可以控制分配给会话的CP

Dubbo负载均衡策略

在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用. 可以自行扩展负载均衡策略,参见:负载均衡扩展Random LoadBalance 随机,按权重设置随机概率. 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重. 权重加倍 RoundRobin LoadBalance 轮循,按公约后的权重设置轮循比率. 存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在

Dubbo -- 系统学习 笔记 -- 示例 -- 负载均衡

Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 负载均衡 在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用. 可以自行扩展负载均衡策略,参见:负载均衡扩展 Random LoadBalance 随机,按权重设置随机概率. 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重. RoundRobin LoadBalance 轮循,按公约后的权重设置轮

初识Dubbo 系列之9-Dubbo 负载均衡

负载均衡 (+) (#) 在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用. 可以自行扩展负载均衡策略,参见:负载均衡扩展 Random LoadBalance 随机,按权重设置随机概率. 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重. RoundRobin LoadBalance 轮循,按公约后的权重设置轮循比率. 存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久

nginx(4)-负载均衡的5种策略及原理

nginx的upstream目前支持的5种方式的分配 1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. upstream backserver { server 192.168.0.14; server 192.168.0.15; } 2.指定权重指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况. upstream backserver { server 192.168.0.14 weight=8; server 192

java架构师课程、性能调优、高并发、tomcat负载均衡、大型电商项目实战、高可用、高可扩展、数据库架构设计、Solr集群与应用、分布式实战、主从复制、高可用集群、大数据

15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  clo