锁定老帖子 主题:mysql读写分离问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-21
Q4准备在项目中实现,读写分离,不再依赖第三方工具实现,这样更易于控制。 1.请问若增加N台slave服务器,如果实现负载均衡?需要什么工具?mysql proxy使用过,感觉不稳定。 2.master有没有负载均衡的方案?两台服务器同时运行,提供服务,一台故障,服务转向正常的那台。如果说热备份,其中一台只能处于运行状态,但不能提供服务,感觉有些浪费。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-21
http://www.infoq.com/cn/articles/yupoo-partition-database
有些内容可以参考下,上面的文章 |
|
返回顶楼 | |
发表时间:2010-09-21
谢谢,这类文章早研究过了。
我目前的主要问题不是如何分表分库,目前有条件,对整个库做多slave,要解决的是多个slave,如何读取的问题。 其中一台挂掉,自动连接至另一台,两台slave相互负载。 |
|
返回顶楼 | |
发表时间:2010-09-28
你可以自己编写一个检测器啊,可以是定时的对slave和master发出连接请求,或者探测端口,有回应就证明没宕机,不回应就不把负载分到这台已经证明宕机的slave上,应该可以..
|
|
返回顶楼 | |
发表时间:2010-09-28
hunkguo 写道 目前实现了master和slave,目前使用Amoeba 实现读写分离。
Q4准备在项目中实现,读写分离,不再依赖第三方工具实现,这样更易于控制。 1.请问若增加N台slave服务器,如果实现负载均衡?需要什么工具?mysql proxy使用过,感觉不稳定。 2.master有没有负载均衡的方案?两台服务器同时运行,提供服务,一台故障,服务转向正常的那台。如果说热备份,其中一台只能处于运行状态,但不能提供服务,感觉有些浪费。 1. 自己做的就是话就是轮询。如果使用框架,可以用guzz,在应用段实现主从分离和从库负载均衡。使用多少数据库,怎么分表,在配置文件里面配置,需要加机器的时候增加配置项就行。 2. 多master有2个方案。1是建立多组数据库,把表分到不同的数据库组上,每个组1个master,实现多个主,但是每个主自身还是单点;优点是1个master挂了不会影响所有业务。 2是集群,集群的话比较费钱,需要光纤小内网。mysql好像没有别的开源方案了。 |
|
返回顶楼 | |
发表时间:2010-09-29
主从已经不错了,要考虑down机的情况,也不需要进行数据迁移,直接切到主DB撑一段时间也未尝不可
|
|
返回顶楼 | |
发表时间:2010-09-29
多Slave做负载均衡的方式可以采用如下方式:
1.将Slave的机器列表推动到客户端,客户端从Slave列表中随机选取进行访问 2.Slave机器的可用性状态监听,监听到Slave机器状态发上变化(可用<---->不可用),重新推送Slave列表,保证访问的可用性 至于数据推送的工具,建议研究一下Hadoop的子项目Zookeeper。 |
|
返回顶楼 | |
发表时间:2010-09-29
至于双Master的问题,个人觉得Master出问题的话肯定是要人工参与的,Master宕机引起的问题是写请求失败,当Master发生宕机的时候可在App端记录Sql日志,待人工解决Master问题之后再进行数据订正的工作。
|
|
返回顶楼 | |
发表时间:2010-09-29
目前主要希望解决多Slave的问题。
master可以用HA等热备份解决,日后再考虑。 “2.Slave机器的可用性状态监听,监听到Slave机器状态发上变化(可用<---->不可用),重新推送Slave列表,保证访问的可用性” 理论上都明白,只是是否有运用到生产环境的成熟方案? Zookeeper我会继续了解下。 |
|
返回顶楼 | |
发表时间:2010-10-01
最后修改:2010-10-01
双master好像不太稳定。
一台master专门写入,N台slave只读这个方案最简单,也最省钱,不需要任何第三方的软件或硬件,负载大了之后就按表、字段分开部署,轻松应对几千万用户的网站。读取时通过程序slave列表中随机选一个,如果slave挂掉就排除该slave,如果master挂掉选择一个slave临时当master,先保证服务正常,然后再查找故障原因。以前我们公司都是人工处理这些事情的,服务挂掉监控程序发短消息提醒运维。如果要保证24小时正常运行,没有专业设备恐怕很难。 |
|
返回顶楼 | |