专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
赛尔实验室  ·  哈工大SCIR 8篇长文被 COLING ... ·  3 天前  
神秘的程序员们  ·  KALOS.art AI 作品每周精选 021 ·  1 年前  
神秘的程序员们  ·  他从游戏走到了AI,从AI走到了诺贝尔奖 ·  1 月前  
程序猿  ·  最美Linux发行版、macOS开源替代方案 ... ·  6 天前  
51好读  ›  专栏  ›  OSC开源社区

谈一谈 redis 集群

OSC开源社区  · 公众号  · 程序员  · 2017-01-10 08:40

正文


标题

 redis 由于性能卓越,在众多互联网企业广泛应用。Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以到100GB、200GB的规模,新浪微博就曾经用Redis存储了超过1TB的数据,但是单实例模式限制了Redis没法满足业务的需求. 为了达到新的业务要求,开始集群吧。


一:ruby 方式


首先说一下 ruby 集群的方式,ruby 传说是made in Japan:


思路应该是这样首先下载一个 ruby ,然后安装


安装时 add ruby executables to your path 要选中, 我把第三个也选中,动态链接ruby文件.


接下来 可以用ruby 命令工具打开命令行模式,在命令行下 gem source -l  可以看到获取资源的域名,如


 默认的是https://rubygems.org/,这里通过


删除被墙的源:gem sources -r https://rubygems.org/,添加gem sources -a http://rubygems.org/


也有人用这个源https://ruby.taobao.org.


现在安装 redis 工具,由于这里还是用国外源,先翻墙,然后命令行下:

>gem install redis -v 3.0.1



接下来

E:\Ruby22\lib\ruby\gems\2.2.0\gems\redis-3.0.1\lib\redis\redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002

1 即自动分配 Slave , 如果想手动指定 Slave  , 将该值变为 0 即可


另外集群的 redis.conf 要设置

port 7001
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 5000
appendonly yes

port 此节点的端口 ,cluster-config-file 生成的note文件 需要每个不同定义.


启动 master,slave ,后查看集成效果。


这种集成方式我在 gem 更新 redis 时成功更新,但是找不到 redis-trib.rb 这个文件,下了 3 个版本的 redis 还是没有,沮丧而未成。


二: 哨兵方式

这个方式不需要其它外部资源支持,在redis 根目录下建2个逻辑 redis server .




7001 7002 是逻辑 server 目录,  7001 为 master ,7002 为 slave


以 7002 为例进行讲解:


建2个文件 


sentinel.conf 为哨兵文件,加入


port 26379


sentinel monitor devmaster 127.0.0.1 7001 2
sentinel down-after-milliseconds devmaster 3000


sentinel auth-pass devmaster test


protected-mode no


其中 port 为synchronized 端口 ,sentinel monitor devmaster  定义向哪个master同步.


redis.conf 加入 


slaveof 127.0.0.1 7001


配置OK,然后命令行里启动server.



这部分可以做成批处理.


开始测试:



server7002 成功读取到server7001数据。


看一下 server7001 和 server7002 的 log



log in server7001


log in server 7002


后记: redis 同步的方式还有很多,有的用 C 语言同步的,还有用 Java 程序同步的,在使用时要根据场景选择适合的同步机制。




推荐阅读

2016 年度最受欢迎中国开源软件 TOP 20,看看你最爱的软件排第几?

如何在小程序服务端集成微信支付

再见!这些科技将会与 2016 一同消逝

周一见 | 7 款国产实战开源项目让通讯超简单!

开源中国 2017 元旦寄语

点击“阅读原文”查看更多精彩内容