`

【转载】LVS用在MySQL Slave上能带来什么..

阅读更多
LVS用在MySQL Slave上能带来什么...
来源: ChinaUnix博客  日期: 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方式,可靠性差一些,但实时性高且对数据库无性能影响。

通过实际测试看,坏处不是太坏,基本上对系统无影响。
分享到:
评论

相关推荐

    lvs+keepalived+mha+mysql架构最佳部署手册

    ### lvs+keepalived+mha+mysql高可用架构配置说明 #### 第一部分 MHA介绍 **MHA**(Master High Availability)作为一种成熟的MySQL高可用性解决方案,它由日本开发者Youshimaton创建,旨在为MySQL环境提供故障...

    lvs+keepalived+mha+mysql架构配置说明_V1.0.pdf

    MHAManager可以独立部署在一台机器上管理多个Master-Slave集群,也可以部署在一台Slave上。当Master出现问题时,MHAManager能够自动将最新数据的Slave提升为新的Master,并将其他Slave重新指向新的Master,这个过程...

    (带目录版)MySQL LVS+Keepalived+MHA 高可用群集 应用部署操作手册

    综上所述,通过使用MySQL LVS+Keepalived+MHA 的组合,可以在确保高可用性和高性能的同时,提高系统的稳定性和可靠性。这对于需要处理大量并发请求的应用来说至关重要。通过合理的架构设计和技术选型,能够有效地...

    mysql集群安装和初步配置.docx

    3. **部署环境**:集群部署在两个IP地址为172.26.1.65和172.26.1.190的节点上,这两个节点既是NDB管理节点也是负载均衡服务,分别作为Master和Slave。另外两个节点172.26.1.66和172.26.1.67是SQLnode+data node,...

    mysql基于keepalived的HA搭建.pdf

    为了实现数据的双向同步,需要在两个MySQL节点上分别配置[mysqld]的子模块,涉及参数包括log_slave_updates、log-bin、server-id、auto_increment_increment和auto_increment_offset等。 - **log_slave_updates**...

    mysql+lvs+keepalived复制负载配置.pdf

    MySQL结合LVS和Keepalived实现复制负载配置的知识点涵盖了高可用性架构的搭建,涉及到网络虚拟服务、虚拟IP(VIP)的设置、LVS的配置和Keepalived的使用。以下知识点详细解释了这些概念和技术。 1. MySQL数据库的复制...

    mysql主从复制+lvs与keepalived实现负载高可用.docx

    MySQL主从复制与LVS(Linux Virtual Server)和Keepalived结合使用,是构建高可用性和负载均衡数据库架构的一种常见方案。以下将详细介绍这个过程。 首先,MySQL的主从复制是通过binlog(二进制日志)实现的。主...

    mysql主从复制+lvs与keepalived实现负载高可用.pdf

    MySQL主从复制是一种常见的数据库高可用性和数据冗余策略,它允许数据在多个服务器之间实时同步,确保即使主服务器出现故障,从服务器也能立即接替,保持服务的连续性。在本场景中,主机A(192.168.5.171)作为主...

    heartbeat +mysql master +ldirectord构建高可用的MYSQL主主复制

    这种模式可以提供更好的性能和可用性,并能在一定程度上提高系统的扩展能力。下面详细介绍实现这一复制模式的具体步骤。 ### 一、环境准备 #### 1. 环境描述 - **主机A**:IP地址为192.168.0.251 - **主机B**:IP...

    搭建MySQL高可用+负载均衡集群(haproxy+keepalived).docx

    文中提到的Master/Slave模式中,Keepalived作为高可用软件,可以在主节点故障时,将虚拟IP漂移至从节点,确保服务继续运行。此外,Active-Passive模式下的双Master复制也能实现故障切换,但需要手动操作来恢复复制...

    KFC系列之 - Oracle DBA入门Mysql(下)

    除了dual-master和keepalived的组合之外,MySQL的高可用性解决方案还包括其他多种架构,例如基于LVS(Linux Virtual Server)的负载均衡+keepalived架构,以及使用DRBD(Distributed Replicated Block Device)和...

    MySQL高可用负载均衡集群部署

    在本文中,我们将介绍如何使用 haproxy 和 keepalived 实现 MySQL 高可用负载均衡集群部署。 MySQL 高可用负载均衡集群部署的需求 随着时间的增长,用户量和数据量的增加,访问量也会增加,使得 MySQL 达到某个...

    MySQL应用场景 个人经验1

    1. 写入瓶颈:可以使用多 Master、Cluster、MySQL Sharing、DBProxy(LVS+Keepalived)等方案来解决写入瓶颈问题。 2. 写入瓶颈层面解决:可以使用消息队列来解决写入瓶颈问题。 3. 备份问题:可以使用多级备份、...

    mysql_双主+keepalived读写分离.zip

    - **启动复制**:在每个节点上执行 `START SLAVE` 命令开始复制。 2. **复制模式** - **异步复制**:两个节点之间没有时间上的约束,数据可能有延迟。 - **半同步复制**:确保至少有一个节点接收到并确认了事务...

Global site tag (gtag.js) - Google Analytics