关于数据库DB负载均衡的初步研究(一)
服务器负载均衡:SLB 是服务器负载均衡(Server Load Balancing)的简称。
含义:是指设置在一组功能相同或相似的服务器前端,对到达服务器组的流量进行合理分发,并在其中某一台服务器故障时,能将访问请求转移到其它可以正常工作的服务器的软件或网络设备。分局域网和城域网两种。原有的系统只部署了一台服务器,随着访问量的增加,一台服务器已经不能满足应用的需要,而需要增加更多的服务器。当部署了两台以上的服务器时,就可能会需要用到负载均衡器。通过服务器负均衡器,对流量进行合理分配,从而监控服务器,保证运行。
(详见:http://www.cnblogs.com/oldhorse/archive/2009/11/07/1597990.html
http://blog.renren.com/share/235460518/3192462953)
技术点:
A:负载均衡设备 BIGIP交换机
作用:应用程序访问ip 与DB 对应,从服务器队列中,找性能最合适的DB去相应用户的请求。灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。具有动态Session的会话保持功能。
个人认为:此设备成本较高,适合大型网站的运营。
相关参考资料:
原理:http://www.cnblogs.com/lislok/archive/2008/10/14/1311011.html
bigIP:配置 http://www.cnblogs.com/liangqihui/archive/2008/07/09/1238644.html
bigIP中文下载文档:http://bbs.ywlm.net/thread-474-1-1.html
B: Replication 复制技术
作用:Replication 机制实现快速将主库(写库)的数据库复制到从库(读库)。一个主库对应多个从库,主库数据实时同步到从库。数据库服务器和应用服务器分离。
配置:通过DB服务器中复制功能,发布与订阅功能实现主从DB的同步。
参考资料:http://www.cnblogs.com/daizhj/archive/2009/11/18/1605293.html
个人认为:使用BIGIP交换机设备,成本太高,转而使用Nginx站点负载均衡,访问不同DB,从而实现读/写DB分离,这需要安装应用程序分类即按照业务模块访问不同DB。
下面介绍:在Window下nginx部署
下载并将该包中的文件解压到c盘上,为了配置使用方便,我将其解压后的文件夹名称从“nginx-1.2.6”改为"nginx”,这样我们只要将要负载均衡的站点在iis中设置好之后,将相应的链接地址放到nginx的相应配置文件中即可。
配置:upstream 和proxy_pass
(详见:http://www.cnblogs.com/daizhj/archive/2009/11/03/1595292.html)