010 redis部署方式-主从模式

单点模式的缺陷:

1.机器故障

2.容量瓶颈

3.QPS瓶颈

主从模式:【实际生产环境中主从不可以部署在同一个机器上】

1.无论主节点还是从结点都有一个完整的数据副本,即主从之间的数据同步;

2.主节点提供读写服务,从节点只提供读服务

3.可以实现读写分离的操作;

4.有效扩展性能;

------------------------------------------------------------------------------------------------------------------------------------------------------------------

applet@ZhongDome:~/servers$ mkdir -pv master-slave
mkdir: created directory 'master-slave'
applet@ZhongDome:~/servers$ cd master-slave/
applet@ZhongDome:~/servers/master-slave$ 

同时创建3给目录,作为一主两从,并且每个目录包含三个子目录conf,data,logs

applet@ZhongDome:~/servers/master-slave$ mkdir -pv {10190,10191,10192}/{conf,data,logs}
mkdir: created directory '10190'
mkdir: created directory '10190/conf'
mkdir: created directory '10190/data'
mkdir: created directory '10190/logs'
mkdir: created directory '10191'
mkdir: created directory '10191/conf'
mkdir: created directory '10191/data'
mkdir: created directory '10191/logs'
mkdir: created directory '10192'
mkdir: created directory '10192/conf'
mkdir: created directory '10192/data'
mkdir: created directory '10192/logs'
applet@ZhongDome:~/servers/master-slave$ ls
10190  10191  10192

将配置文件分布copy到三个目录中conf子目录下
applet@ZhongDome:~/servers/master-slave$ cp ~/servers/redis/conf/redis.conf 10190/conf/
applet@ZhongDome:~/servers/master-slave$ cp ~/servers/redis/conf/redis.conf 10191/conf/
applet@ZhongDome:~/servers/master-slave$ cp ~/servers/redis/conf/redis.conf 10192/conf/
applet@ZhongDome:~/servers/master-slave$ vim 10190/conf/redis.conf 
applet@ZhongDome:~/servers/master-slave$ vim 10191/conf/redis.conf 
applet@ZhongDome:~/servers/master-slave$ vim 10192/conf/redis.conf 
applet@ZhongDome:~/servers/master-slave$ vim 10192/conf/redis.conf

修改每个配置文件

daemonize yes

pidfile /home/applet/servers/master-slave/10190/pid

port 10190

#bind 127.0.0.1

loglevel notice

logfile "/home/applet/servers/master-slave/10190/logs/redis.log"

dir /home/applet/servers/master-slave/10190/data

【编辑用户环境配置文件,加入环境设置

applet@ZhongDome:~/servers/master-slave$ vim ~/.profile

PATH=$PAHT:$HOME/bin
export REDIS_HOME=/home/applet/servers/redis
PATH=$PATH:$REDIS_HOME/bin
export PATH
[applet@ZhongDome:~/servers/master-slave$ source ~/.profile]  //即时生效

applet@ZhongDome:~/servers/master-slave$ redis-server 10190/conf/redis.conf

applet@ZhongDome:~/servers/master-slave$ redis-server 10191/conf/redis.conf 
applet@ZhongDome:~/servers/master-slave$ redis-server 10192/conf/redis.conf 】

启动三个redis:

截止目前为止,三个结点为相互独立,没有任何关系的redis结点;

分别连接每个结点:

目前三个结点的role:master都是主;

使用命令配置主从:

先修改一下所有r结点的配置文件,把protected-mode no关闭,否则必须设置密码才能连接;

1.在需要配置为从结点的终端上输入:

#SLAVEOF [ip地址] [端口号]

#slaveof no one         //解除从节点状态(断开后不会清空数据,还是保留断开前的数据内容)

(在做主从复制的时候,子结点的数据会完全清空,然后复制主节点数据)

2.通过配置文件conf/redis.conf来实现主从:(配置完成需要重启redis)

-主节点配置文件不用修改

-从节点加入#SLAVEOF [ip地址] [端口号]

一个master可以拥有多个slave,多个slave同时连接一个master,节点在复制时不会影响master对外提供服务,提供系统的伸缩性。

主从复制的过程

        •slavemaster建立连接,发送sync同步命令

        •master开启一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。

        •后台完成保存后,就将文件发送给slave

        •slave将此文件保存到硬盘上

配置

修改redis.conf, 增加slaveof配置,设置masterauth

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值