Moebius for SQLServer负载均衡

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 搞数据库的都知道:在Oracle上有RAC集群,MySQL也有对应的方案,而SQL Server上直到SQL Server 2012版本的AlwaysOn到来,微软都没有提供一个负载均衡方案,在网上看到Moebius可以实现负载均衡,在此将相关实现过程分享给大家:一、架构原理负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。

搞数据库的都知道:在Oracle上有RAC集群,MySQL也有对应的方案,而SQL Server上直到SQL Server 2012版本的AlwaysOn到来,微软都没有提供一个负载均衡方案,在网上看到Moebius可以实现负载均衡,在此将相关实现过程分享给大家:


一、架构原理

负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。

1、实现原理
实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具体控制访问某个数据库了,然后还可以根据数据库的当前负载采取有效的均衡策略,来调整每次连接到哪个数据库。

2、实现多据库数据同步
对于负载均衡,最重要的就是所有服务器的数据都是实时同步的。这是一个集群所必需的,因为,如果数不据实时、不同步,那么用户从一台服务器读出的数据,就有别于从另一台服务器读出的数据,这是不能允许的。所以必须实现数据库的数据同步。这样,在查询的时候就可以有多个资源,实现均衡。比较常用的方法是Moebius for SQL Server集群,Moebius for SQL Server集群采用将核心程序驻留在每个机器的数据库中的办法,这个核心程序称为Moebius for SQL Server 中间件,主要作用是监测数据库内数据的变化并将变化的数据同步到其他数据库中。数据同步完成后客户端才会得到响应,同步过程是并发完成的,所以同步到多个数据库和同步到一个数据库的时间基本相等;另外同步的过程是在事务的环境下完成的,保证了多份数据在任何时刻数据的一致性。正因为Moebius 中间件宿主在数据库中的创新,让中间件不但能知道数据的变化,而且知道引起数据变化的SQL语句,根据SQL语句的类型智能的采取不同的数据同步的策略以保证数据同步成本的最小化。



3、优缺点

  优点:
  (1) 扩展性强:当系统要更高数据库处理速度时,只要简单地增加数据库服务器就 可以得到扩展。
  (2) 可维护性:当某节点发生故障时,系统会自动检测故障并转移故障节点的应用,保证数据库的持续工作。
  (3) 安全性:因为数据会同步的多台服务器上,可以实现数据集的冗余,通过多份数据来保证安全性。

       另外它成功地将数据库放到了内网之中,更好地保护了数据库的安全性。
  (4) 易用性:对应用来说完全透明,集群暴露出来的就是一个IP

  缺点:

  (1) 不能够按照Web服务器的处理能力分配负载。
  (2) 负载均衡器(控制端)故障,会导致整个数据库系统瘫痪。


二、安装与配置

Moebius的安装非常简便,在装有SQL Server引擎的服务器上直接点击安装包进行安装,安装过程中一直下一步即可(如下图)。



配置环境如下图所示:





三、测试结果

通过对Moebius的简单测试来看,Moebius的确实现了对SQL Server的负载均衡、高可用以及保证数据的安全。

对于国内能够有公司实现类似Oracle RAC这样的负载均衡方案还是非常优秀的,由于环境有限,未能在复杂的环境

下进行测试,如果能够在大数据的环境以及多机的集群环境下还能够稳定运行,那应该算是不错的解决方案了。


附上Moebius详细文档连接,有需要的可以参考:

http://wenku.baidu.com/view/383b2f83b9d528ea81c7797d.html?re=view


一、架构原理
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
负载均衡 应用服务中间件 nginx
Windows 下使用nginx对SqlServer进行负载均衡
windows 下使用nginx对SqlServer进行负载均衡
5920 0
|
SQL 数据库 索引
SQLServer 服务器架构迁移
原文:SQLServer 服务器架构迁移 最近服务器架构迁移,将原来的服务器架构迁移到新的服务器,新的服务器在硬件方面比之前更好!原来服务器使用双向同步,并且为水平划分到多个数据库服务器。迁移过程中,数据库方面涉及到数据一致性,帐号,重新划更多分区,规范索引,分布式查询,删除无效触发器等等。
1268 0
|
关系型数据库 索引 RDS
用 ssms 排查 rds for sqlserver 性能问题
ssms 即Microsoft sqlserver management studio , 需要在本地安装后才能使用. 本文以 sqlserver 2017 management studio 工具排查日常使用中遇到的性能问题.
2543 0
|
SQL 缓存 关系型数据库
多台SQLServer数据实时同步,syncnavigator使用
最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。
9723 0
|
负载均衡 关系型数据库 MySQL
mysql-proxy 负载均衡、读写分离搭建
wget https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-glibc2.
1074 0
|
SQL 负载均衡 数据库
|
SQL 负载均衡 Oracle
|
数据库 数据安全/隐私保护