Redis读写分离搭建的完整步骤


Posted in Redis onSeptember 14, 2021

1、概述

随着企业业务的不断扩大,请求的并发量不断增长,Redis可能终会出现无法负载的情况,此时我们就需要想办法去提升Redis的负载能力。

读写分离(主从复制)是一个比较简单的扩展方案,使用多台机器同时运行Redis服务,一台负责写服务,多台负责读服务,通过多台服务器对请求进行负载,大大提高了Redis服务的负载压力。

最常见的读写分离是一主二从的模式,一台主服务器负责Redis写入服务,两台从服务器负责Redis的读取服务,从服务器定时从主服务器复制Redis数据。

今天我们就来聊聊Redis的读写分离如何搭建的。

2、读写分离的搭建

2.1 场景说明

主服务器IP:192.168.1.144

从服务器A IP:192.168.1.22

从服务器B IP:192.168.1.8

这三台服务器上都已经安装好了Redis环境,安装方法参见我的另一篇文章《Redis的安装、基本使用以及与SpringBoot的整合》。

2.2 修改从服务器A和从服务B的Redis配置

replicaof   设置Redis主服务的IP和端口

masterauth  设置Redis主服务的密码

Redis读写分离搭建的完整步骤

2.3 删除从服务器A和从服务器B的数据文件

# cd/usr/local/redis/db

#rm -rf *.rdb *.aof

2.4 重启从服务器A和从服务器B

#cd /etc/init.d/

#./redis_init_script stop

# ./redis_init_script start

2.5 查看主从状态

# redis-cli

> AUTH zhuifengren

>info replication

主服务器状态:

Redis读写分离搭建的完整步骤

从服务器A状态:

Redis读写分离搭建的完整步骤

从服务器B状态:

Redis读写分离搭建的完整步骤

2.6 测试主从复制

此时,在主服务器,写入Redis值,在从服务器就可以读取。

3、Redis读写分离优势

透明兼容

读写分离和普通集群规格一样,都使用了redis-proxy做请求转发,多分片令使用存在一定的限制,但从主从升级单分片读写分离,或者从集群升级到多分片的读写分离集群可以做到完全兼容。

用户和redis-proxy建立连接,redis-proxy会识别出客户端连接发送过来的请求是读还是写,然后按照权重作负载均衡,将请求转发到后端不同的DB节点中,写请求转发给master,读操作转发给read-only replica(master默认也提供读,可以通过权重控制)。

用户只需要购买读写分离规格的实例,直接使用任何客户端即可直接使用,业务不用做任何修改就可以开始享受读写分离服务带来的巨大性能提升,接入成本几乎为0。

高可用

高可用模块(HA)监控所有DB节点的健康状态,为整个实例的可用性保驾护航。master宕机时自动切换到新主。如果某个read-only replica宕机,HA也能及时感知,然后重搭一个新的read-only replica,下线宕机节点。

除HA之外,redis-proxy也能实时感知每个read-only replica的状态。在某个read-only replica异常期间,redis-proxy会自动降低这个节点的权重,如果发现某个read-only replica连续失败超过一定次数以后,会暂时屏蔽异常节点,直到异常消失以后才会恢复其正常权重。

redis-proxy和HA一起做到尽量减少业务对后端异常的感知,提高服务可用性。

高性能

对于读多写少的业务场景,直接使用集群版本往往不是最合适的方案,现在读写分离提供了更多的选择,业务可以根据场景选择最适合的规格,充分利用每一个read-only replica的资源。

目前单shard对外售卖1 master + 1/3/5 read-only replica多种规格(如果有更大的需求可以提工单反馈),提供60万QPS和192 MB/s的服务能力,在完全兼容所有命令的情况下突破单机的资源限制。后续将去掉规格限制,让用户根据业务流量随时自由的增加或减少read-only replica数量。

4、综述

今天介绍了Redis读写分离的搭建,相对来说是比较容易的,但读写分离有个缺点,当主服务宕机后,从服务是不能升级成主服务的。

为了解决这个单点问题,后面我们会介绍Redis的哨兵模式和集群模式。

到此这篇关于Redis读写分离搭建的文章就介绍到这了,更多相关Redis读写分离搭建内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
Redis持久化与主从复制的实践
Apr 27 Redis
Redis实现订单自动过期功能的示例代码
May 08 Redis
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
Redis缓存-序列化对象存储乱码问题的解决
Jun 21 Redis
浅谈Redis中的RDB快照
Jun 29 Redis
在redisCluster中模糊获取key方式
Jul 09 Redis
Redis Cluster 集群搭建你会吗
Aug 04 Redis
关于SpringBoot 使用 Redis 分布式锁解决并发问题
Nov 17 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
redis调用二维码时的不断刷新排查分析
Apr 01 Redis
Redis批量生成数据的实现
Jun 05 Redis
在项目中使用redis做缓存的一些思路
Redis RDB技术底层原理详解
Sep 04 #Redis
使用redis实现延迟通知功能(Redis过期键通知)
Redis集群新增、删除节点以及动态增加内存的方法
Sep 04 #Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 #Redis
基于Redis的List实现特价商品列表功能
Aug 30 #Redis
Redis 常见使用场景
Aug 30 #Redis
You might like
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
深入理解Python中各种方法的运作原理
2015/06/15 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
查看python下OpenCV版本的方法
2018/08/03 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
后勤园长自我鉴定
2013/10/17 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
施工安全协议书范本
2014/09/26 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
行政处罚告知书
2015/07/01 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书