查看: 25233|回复: 35

【有奖话题】内存数据库Redis的高可用探讨

[复制链接]
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
跳转到指定楼层
1#
发表于 2013-12-5 13:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
讨论主题:
每次谈到Redis的高可用,很多NoSQL DBA,尤其是Redis DBA就会心里一痛。因为Redis的单点故障是很多开发者都会面临的问题。因为Redis的集群方案还在开发中,据说在未来的Redis 3.0版会支持此功能,相关的介绍见:http://redis.io/topics/cluster-spec

难道Redis在高可用性方面就显得这么的无力吗?
设想,哪天Redis主服务器挂了,该怎么办?

作为一名DBA,我们是每天搬个板凳,坐在楼顶,双手合十,祈祷上天让Redis 3.0早日发布呢?还是我们自己动手,利用各种商业或开源技术,搞定Redis的高可用方案?

讨论内容:
1)写出您心目中比较完美的Redis高可用方案。
2)对其他朋友的高可用方案进行讨论、评价。

注意事项:
请勿Google、Baidu网上的资料,以此作答。COPY过来的答案我们是没有奖励的。发干货!!!

讨论时间:
2013.12.5~2013.12.30

奖品:活动结束后将会抽取一名会员赠送无线键鼠套装一件,同时抽取5名会员赠送图书徽章一枚。
PS:凭此徽章可以到书单中换取图书一枚。书单地址:http://www.itpub.net/thread-1822708-1-1.html

键鼠套装:chszs
徽章
2009532140
szy00416
qingduo04
baochangjun137
yananguo_1985




论坛徽章:
5
茶鸡蛋
日期:2013-01-09 10:55:08茶鸡蛋
日期:2013-02-28 16:07:01奥运会纪念徽章:帆船
日期:2013-04-02 17:07:05奥运纪念徽章
日期:2013-07-18 13:55:12ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42
2#
发表于 2013-12-5 14:22 | 只看该作者
好活动,支持一下!

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Java研发
论坛徽章:
6402
娜美
日期:2021-10-12 20:11:36技术图书徽章
日期:2021-09-30 12:11:1120周年集字徽章-年	
日期:2021-09-30 12:12:5820周年集字徽章-20	
日期:2021-09-30 12:43:0619周年集字徽章-周
日期:2021-09-30 13:18:3120周年集字徽章-20	
日期:2021-09-30 16:44:1219周年集字徽章-周
日期:2021-09-30 17:01:04技术图书徽章
日期:2021-09-30 17:59:14技术图书徽章
日期:2021-10-06 10:36:4019周年集字徽章-19
日期:2021-10-06 14:43:24
3#
发表于 2013-12-5 14:29 | 只看该作者
本帖最后由 2009532140 于 2013-12-10 21:19 编辑

嗨,只能现学现分享了:

当 Master 与 Slave 均运作正常时, Master负责读,Slave负责同步;

当 Master 挂掉,Slave 正常时, Slave接管服务,同时关闭主从复制功能;

然后依次循环。这样,两台redis服务器中的任何一台挂掉,都会由另一台继续提供服务,不会对网站形

成可察觉的影响,也不会丢失数据。

当 Master 恢复正常,则从Slave同步数据,同步数据之后关闭主从复制功能,恢复

Master身份,于此同时Slave等待Master同步数据完成之后,恢复Slave身份。

我觉得这里说的比较有道理,大家没接触过的,没思路的可以看看:

http://rfyiamcool.blog.51cto.com/1030776/1152754


使用道具 举报

回复
论坛徽章:
0
4#
发表于 2013-12-5 15:37 | 只看该作者
本帖最后由 finddb 于 2013-12-5 15:37 编辑

(lvs+  keeplive) + (haproxy + twemproxy) + redis  
已经开始使用了

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2013-12-18 09:29:12技术图书徽章
日期:2014-01-26 14:31:29路虎
日期:2014-01-26 14:35:49
5#
发表于 2013-12-5 16:45 | 只看该作者
1)写出您心目中比较完美的Redis高可用方案
   目前比较流行的Redis集群都是使用 keeplive + haproxy + redis 来实现集群,来弥补目前redis单机版本无法双向复制的缺陷。
   根据楼主的链接里的描述,Redis的集群方案是要实现一个网状集群,对于这样的集群好处是节点的添加和删除都非常地方便,而且故障转移也会比较快地被相邻节点接替,但是这样的集群在服务器比较少的时候比如200台左右的时候,网络配置和冗余以及带宽还是够用的,如果真的达到了文章里面说的有1000个节点的话(如果我没理解错的话),网络冗余会不会非常复杂?带宽要求是不是会非常高才能确保节点间的同步?
2)对其他朋友的高可用方案进行讨论、评价。
   目前参与的朋友还比较少,以后多了再更新
   
   欢迎大家讨论

使用道具 举报

回复
6#
发表于 2013-12-5 17:57 | 只看该作者
目前官网上看到可以使用redis-sentinel来实现高可用性

查找master:

/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:16
sentinel_scripts_queue_length:99
master0:name=wireless,status=ok,address=192.168.2.110:6677,slaves=1,sentinels=1

查看slave:

/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 26379 sentinel slaves wireless
1)  1) "name"
    2) "192.168.2.111:6677"
    3) "ip"
    4) "192.168.2.111"
    5) "port"
    6) "6677"
    7) "runid"
    8) "95658df807f8ad1ae515f1b31a69c8d06faedc32"
    9) "flags"
   10) "slave"
   11) "pending-commands"
   12) "0"
   13) "last-ok-ping-reply"
   14) "458"
   15) "last-ping-reply"
   16) "458"
   17) "info-refresh"
   18) "6058"
   19) "master-link-down-time"
   20) "0"
   21) "master-link-status"
   22) "ok"
   23) "master-host"
   24) "192.168.2.110"
   25) "master-port"
   26) "6677"
   27) "slave-priority"
   28) "100"

使用道具 举报

回复
论坛徽章:
5
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-20 06:00:11技术图书徽章
日期:2014-01-26 14:31:292014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09
7#
发表于 2013-12-5 22:45 | 只看该作者
目前公司业务用的是keepalive+redis ,但目前用的过程中还是发现有点不足的就是单机多实例情况下,某个实例挂了就会触发master上所有的实例进行切为slave。官方的sentinel最近测试了下,还不错,不过2.8版本最近连续几个小版本更新,还是再等等稳定了再尝试下。

使用道具 举报

回复
论坛徽章:
111
ITPUB9周年纪念徽章
日期:2010-10-08 09:34:03马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-03-20 10:09:22马上有钱
日期:2014-03-20 15:53:11马上有车
日期:2014-03-20 16:13:24马上有房
日期:2014-03-20 16:14:11马上有钱
日期:2014-03-20 16:14:11马上有对象
日期:2014-03-20 16:14:11马上加薪
日期:2014-03-20 16:14:11技术图书徽章
日期:2014-03-27 09:30:56
8#
发表于 2013-12-6 07:02 | 只看该作者
支持,但没接触过,只能向各位大侠学习。

使用道具 举报

回复
论坛徽章:
1
现代
日期:2013-09-18 15:28:37
9#
发表于 2013-12-6 14:08 | 只看该作者
顶顶!

使用道具 举报

回复
论坛徽章:
43
ITPUB9周年纪念徽章
日期:2012-09-28 16:17:24马上有钱
日期:2014-06-16 17:13:52马上有对象
日期:2014-06-16 17:13:52马上加薪
日期:2014-06-16 17:13:52现任管理团队成员
日期:2014-06-17 02:21:03版主1段
日期:2014-06-17 02:21:04马上有车
日期:2014-10-24 22:35:032010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
10#
发表于 2013-12-6 14:19 | 只看该作者
还没发现一个有价值的讨论
继续围观

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表