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方式,可靠性差一些,但实时性高且对数据库无性能影响。
通过实际测试看,坏处不是太坏,基本上对系统无影响。
来源: 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方式,可靠性差一些,但实时性高且对数据库无性能影响。
通过实际测试看,坏处不是太坏,基本上对系统无影响。
发表评论
-
linux清除mysql占用cache
2013-11-01 10:55 2041在linux内部将cache分为2种: 1、write/rea ... -
规范、经验
2013-11-04 17:23 585尽量不用NULL列 query cach ... -
mysql模拟队列
2013-05-14 13:42 1091-- 初始化数据 DROP TABLE IF EXIST ... -
高性能mysql[第3版]--笔记
2013-05-03 23:35 06.8 6.8.1 mysql构建消息队列 se ... -
生成随机字符串
2013-04-30 10:41 0DELIMITER $$ CREATE FUNCTIO ... -
复制笔记
2013-04-27 17:48 0http://dev.mysql.com/doc/refman ... -
[整理]mysql导入导出
2013-04-24 22:40 0方案一:拷贝物理文件(innodb, innodb_file_ ... -
【整理中】mysql字符集使用
2013-04-24 22:29 0show variables like 'characte ... -
MYSQL监控内容整理
2013-04-24 13:40 0内容 硬解析,软解析,等待事件,表空间,索引,触发器,alte ... -
无限级联分类查询
2013-04-24 09:36 0DROP TABLE IF EXISTS location ... -
mysqldbcompare --使用
2013-04-07 09:39 0http://dev.mysql.com/doc/workbe ... -
MYSQL 发送数据大小计算公式
2013-03-29 16:20 884引用:http://www.realzyy.com/?p=15 ... -
linux /proc目录功能
2013-03-26 13:11 871/proc/ 运行中的程序信息 cpuinfo iopo ... -
#mysql 笔记#索引长度限制
2013-03-18 12:11 852http://dev.mysql.com/doc/refman ... -
mysqldump简单使用
2013-01-21 15:27 0mysqldump -B或者--databases:备份指定数 ... -
linux经常登入登出mysql重复输入密码
2013-01-16 17:51 970经常登入、登出mysql,尤其是密码重新输入比较复杂时,使用& ... -
mysql存储过程实现行转列
2012-08-30 16:24 2135把表t_rows中的数据转换 ... -
mysql 判断字符串是否是数字
2012-07-12 10:21 2975查询表table_name中col_name(字符串类型)的值 ... -
[转载]drop 大表效率问题
2012-06-15 09:32 46http://www.mysqlops.com/2011/05 ... -
linux判断路径下所有内容是否为文件夹
2012-03-27 16:01 1327PATH="完整路径即可" functi ...
相关推荐
### lvs+keepalived+mha+mysql高可用架构配置说明 #### 第一部分 MHA介绍 **MHA**(Master High Availability)作为一种成熟的MySQL高可用性解决方案,它由日本开发者Youshimaton创建,旨在为MySQL环境提供故障...
MHAManager可以独立部署在一台机器上管理多个Master-Slave集群,也可以部署在一台Slave上。当Master出现问题时,MHAManager能够自动将最新数据的Slave提升为新的Master,并将其他Slave重新指向新的Master,这个过程...
综上所述,通过使用MySQL LVS+Keepalived+MHA 的组合,可以在确保高可用性和高性能的同时,提高系统的稳定性和可靠性。这对于需要处理大量并发请求的应用来说至关重要。通过合理的架构设计和技术选型,能够有效地...
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节点上分别配置[mysqld]的子模块,涉及参数包括log_slave_updates、log-bin、server-id、auto_increment_increment和auto_increment_offset等。 - **log_slave_updates**...
MySQL结合LVS和Keepalived实现复制负载配置的知识点涵盖了高可用性架构的搭建,涉及到网络虚拟服务、虚拟IP(VIP)的设置、LVS的配置和Keepalived的使用。以下知识点详细解释了这些概念和技术。 1. MySQL数据库的复制...
MySQL主从复制与LVS(Linux Virtual Server)和Keepalived结合使用,是构建高可用性和负载均衡数据库架构的一种常见方案。以下将详细介绍这个过程。 首先,MySQL的主从复制是通过binlog(二进制日志)实现的。主...
MySQL主从复制是一种常见的数据库高可用性和数据冗余策略,它允许数据在多个服务器之间实时同步,确保即使主服务器出现故障,从服务器也能立即接替,保持服务的连续性。在本场景中,主机A(192.168.5.171)作为主...
这种模式可以提供更好的性能和可用性,并能在一定程度上提高系统的扩展能力。下面详细介绍实现这一复制模式的具体步骤。 ### 一、环境准备 #### 1. 环境描述 - **主机A**:IP地址为192.168.0.251 - **主机B**:IP...
文中提到的Master/Slave模式中,Keepalived作为高可用软件,可以在主节点故障时,将虚拟IP漂移至从节点,确保服务继续运行。此外,Active-Passive模式下的双Master复制也能实现故障切换,但需要手动操作来恢复复制...
除了dual-master和keepalived的组合之外,MySQL的高可用性解决方案还包括其他多种架构,例如基于LVS(Linux Virtual Server)的负载均衡+keepalived架构,以及使用DRBD(Distributed Replicated Block Device)和...
在本文中,我们将介绍如何使用 haproxy 和 keepalived 实现 MySQL 高可用负载均衡集群部署。 MySQL 高可用负载均衡集群部署的需求 随着时间的增长,用户量和数据量的增加,访问量也会增加,使得 MySQL 达到某个...
1. 写入瓶颈:可以使用多 Master、Cluster、MySQL Sharing、DBProxy(LVS+Keepalived)等方案来解决写入瓶颈问题。 2. 写入瓶颈层面解决:可以使用消息队列来解决写入瓶颈问题。 3. 备份问题:可以使用多级备份、...
- **启动复制**:在每个节点上执行 `START SLAVE` 命令开始复制。 2. **复制模式** - **异步复制**:两个节点之间没有时间上的约束,数据可能有延迟。 - **半同步复制**:确保至少有一个节点接收到并确认了事务...