Redis之主从复制2

上篇文章给大家介绍了Redis的主从复制,但是并没有介绍完整,本文继续主从复制的介绍

主从复制

上篇文章搭建的主从结构图

本文我们换种结构

具体实现

实现方式也很简单,我们只需要在6381上执行如下命令即可

127.0.0.1:6381> slaveof 127.0.0.1 6380
OK

查看6379节点信息

在6380上查看

在6381上查看

如此6380是一个从机,而6380还有一个slave是6381.至此实现了我们上面的结构图

测试

复制数据没有问题

哨兵模式

结合上篇文章我们给大家介绍了两种主从复制的模式,但是我们发现不论是哪种模式,一旦master宕机了,那么整合服务就不可以使用了,此时我们希望系统能在还运行的slave中从新选举新的节点作为mater这样我们就不用重启服务了。能够显著的提高我们系统的稳定性,这里就需要用到我们将要介绍的哨兵模式。

主从复制环境

我们还是一主两从,按照上篇文章的结构来实现。

哨兵模式配置

修改和redis.conf同级目录下的sentinel.conf文件

sentinel monitor mymaster 127.0.0.1 6379 1

mymaster 是要监控的主机名 可以随意的取 最后的1 表示的是哨兵进程的个数,我在此处只有1个。

启动哨兵模式

先关闭主从服务,然后开启哨兵模式

src/redis-sentinel sentinel.conf 

再分别启动主从服务器

[root@hadoop-node01 redis-5.0.3]# src/redis-server redis6379.conf 
[root@hadoop-node01 redis-5.0.3]# src/redis-cli -p 6379
[root@hadoop-node01 redis-5.0.3]# src/redis-server redis6380.conf 
[root@hadoop-node01 redis-5.0.3]# src/redis-cli -p 6380
127.0.0.1:6380> slaveof 127.0.0.1 6379
[root@hadoop-node01 redis-5.0.3]# src/redis-server redis6381.conf 
[root@hadoop-node01 redis-5.0.3]# src/redis-cli -p 6381
127.0.0.1:6381> slaveof 127.0.0.1 6379

关闭6379master测试

查看6379状态

关闭6379等待一会查看哨兵进程界面

当看到如上图的信息后,我们再查看6380的时候,发现该节点已经变成了master了。

再启动6379我们发现该实例依然是slave并不会改变

注意在主从复制中所有的写入操作都是在master实例上进行的,然后再将信息同步到slave上,这就存在一定的信息延迟,在系统非常繁忙的时候延迟会更加的严重,增加slave也会存在这个问题,因此在实际开发中我们需要通过集群(cluster)来进一步提升redis的性能,下篇文章将给大家介绍redis的集群操作。

~本文介绍到此,更多信息欢迎查阅官方文档:http://www.redis.net.cn/tutorial/3501.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

2019金三银四你准备好了没,这些Java后端面试知识点掌握了吗?

3、HashMap,HashTable,ConcurrentHashMap的区别。

17030
来自专栏Linyb极客之路

springcloud用redis做session共享出现类反序列化失败问题

前段时间项目组打算把公司的一个老项目当做现有系统的子模块,现有系统的技术框架主要是采用springcloud,用redis来做session共享。老项目的用户鉴...

1.3K20
来自专栏性能与架构

架构设计原则 - 高并发

实际常用:应用无状态,配置文件有状态,例如,不同的机房读取不同的配置文件,通过配置中心指定。

13650
来自专栏IT云清

分布式锁系列--04关于分布式锁的选型分析02

2.按顺序依次向N个Redis节点执行获取锁的操作。这个获取操作跟前面基于单Redis节点的获取锁的过程相同,包含随机字符串my_random_value,也包...

8130
来自专栏Zchannel

RediSQL 0.8.0 发布 将查询结果写入流中

RediSQL 0.8.0 发布了,RediSQL 是一个 Redis 模块,为 Redis 提供完整的 SQL 功能。RediSQL 支持所有 Redis 数...

10420
来自专栏大数据成神之路

16-Flink-Redis-Sink

流式计算中,我们经常有一些场景是消费Kafka数据,进行处理,然后存储到其他的数据库或者缓存或者重新发送回其他的消息队列中。

71530
来自专栏chenssy

Redis 分布式锁进化史解读+缺陷分析

近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技...

26530
来自专栏我是攻城师

为什么单线程Redis性能也很出色

高性能的服务器,不一定是多线程实现的,也就是说多线程不一定比单线程效率高,这得分具体的情况。以redis为例,核心处理请求的线程只有一个,所以我们常常理解其仅仅...

24830
来自专栏Linyb极客之路

数据服务开发经验

有状态服务或者说数据服务,上线遇到问题很棘手,回滚无济于事;而且数据加载通常都很慢,部署时间长;最终导致不敢修改代码,谨小慎微;服务质量也是能忍就忍,不愿意深度...

18340
来自专栏微信公众号:Java团长

做了5年Java开发,你必须重视这一点

做了3~5年左右Java开发,你已经积累了不少项目经验,扩宽了技术广度,也许已发力成为团队管理者。到了这个阶段,大家却常有这种感受:感觉自己卡在瓶颈进步缓慢,技...

15360

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励