免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1956 | 回复: 0
打印 上一主题 下一主题

LVS用在MySQL Slave上能带来什么... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-10 21:39 |只看该作者 |倒序浏览
[负载均衡、HA、LVS、互备能力、直连线、MySQL Slave、LVS方案的特点. ]


为了在一个多个相同Slave的系统中,实现Slave读取的高可用性,
特组织了这样一种架构:

                VIP 100.8.XX.81
     (100.8.XX.87)     (100.8.XX.88)
      hb+ld+lvs                  hb+ld+lvs
     ---------------------------------
                     |
                     |
                     |
      -----------------------------------
        |        |         |         |
     Slave123 Slave124  Slave125   Slave126



87/88 两台 LVS 前置机,通过直连线连接的HeartBeat互备能力的两台LVS机器。
Slave123/124/125/126 是4台相同特性的MySQL Slave服务器。
通过 虚拟IP(VIP)100.8.XX.81 来对30台tomcat服务器进行提供服务,在所有的Tomcat (java程序)眼中,需要看到只是这个VIP,而根本不需要关心实际访问到底是123还是126.

好处有:
1、实现slave数据库的负载均衡,基本不会出现忙得忙、闲的闲的局面。
2、当slave数据库服务器故障时应用程序无须重启恢复。
  通过heartbeart的ldirectord 模块的工作能力,能周期性的去探测Slave服务器的工作状态,
  如果连接不上,则直接从ipvs 列表中删除,避免分配无效的连接给。
3、实现动态slave数据库服务器添加、删除。
  可以通过在线修改ldirectord.cnf 或者 ipvsadm 操作的方式来进行在线修改使用的列表。


最坏的坏处你也应该想到:
1、因为实际的slave数据库可能存在数据延时的问题,既个slave数据库的数据可能不完全相同。
  当采用DR方式的轮叫调度算法时连接是均衡的分配到slave数据库上,
  同一应用的多次数据库连接可能被分配到不同的slave上,这样可能会产生检索数据不一致的问题。

2、当使用-p参数可实现同一个客户的多次请求分配到同一台真实的服务器处理时,
   可以解决检索数据不同的问题。
   但单点故障的时候全部连接会切换到下一个机器,并一直保持在这台机器上。负载均衡就出现问题。
3、资源状态检测使用connect方式,可靠性差一些,但实时性高且对数据库无性能影响。

通过实际测试看,坏处不是太坏,基本上对系统无影响。







本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/33594/showart_1961333.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP