本文共 1573 字,大约阅读时间需要 5 分钟。
单节点Resid服务器问题:
单点故障,会导致服务不可用; 处理数据速度无法达到高并发的功能; 数据丢失会造成巨大损失。多个redis节点组成一个群集,一个节点有两台Redis,一台主用,一台备用。
只有在三台主上才能进行数据的存储写入,在所有节点都可以读取这些数据,读取的同时也会登录到所读取数据所在的Redis服务器,在主用Redis宕机后,对应的从节点会接替其成为主。某电商大型项目,由于业务大规模升级。项目中的前置缓存节点,已经不能满足当前的业务需求,现在对redis集群扩容一套redis主备节点,对于实际的生产环境,一般规划是在晚上2凌晨12点做操作,操作之前,提前做好redis安装部署,晚上凌晨12点左右,业务量比较少,影响范围比较少,redis对接的底层数据库,先要锁库、锁表,不产生业务流数据,这样redis集群可产生的影响因素较小。
Redis集群部署的规划:
本实验使用6台Centos 7.4 主机做集群,其中3台为master 其中3台为slave,IP地址分别为节点类型 | ip |
---|---|
master1 | 192.168.158.10 |
master2 | 192.168.158.20 |
master3 | 192.168.158.30 |
slave1 | 192.168.158.40 |
slave2 | 192.168.150.50 |
slave3 | 192.168.150.60 |
准备 6台Centos 7.4 的虚拟机,关闭防火墙、关闭核心防护,挂载光盘,搭建本地yum仓库,配置相对应的ip地址
安装redis
每个节点服务器都安装redis服务,步骤一样。[root@redis1 utils]# vim /etc/redis/6379.conf 70 bind 192.168.247.130 #监听地址改为各服务器自己的IP,以master1为例89 protected-mode no ###关闭保护模式,关闭数据隔离的保护形势 137 daemonize yes ##开启守护进程,以独立进程运行833 cluster-enabled yes ###开启群集功能841 cluster-config-file nodes-6379.conf ###群集名称文件设置847 cluster-node-timeout 15000 ###集群超时时间设置700 appendonly yes ###开启aof持久化
[root@redis1 ~]# yum -y install ruby rubygems[root@redis1 ~]# gem install redis-3.2.0.gem
创建群集
[root@server1 6379]# redis-cli --cluster create --cluster-replicas 1 192.168.158.10:6379 192.168.158.20:6379 192.168.158.30:6379 192.168.158.40:6379 192.168.158.50:6379 192.168.158.60:6379验证群集 以群集模式登陆redis(-c)
[root@server1 6379]# redis-cli -h 192.168.158.10 -p 6379 -c
192.168.158.10:6379> cluster nodes
链接: https://pan.baidu.com/s/1YCc1R5nHg6sK6SDFsw1tVg 提取码: w2h1
转载地址:http://ufdaf.baihongyu.com/