概念
使用redis的复制功能创建主机和从机(一对多) 主从机支持多个数据库之间的数据同步。一类是主数据库(master主机)一类是从数据库(slave从机)
(主从复制) 读写分离主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的(读写分离) 从机接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库(只有一个老大)
通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。
2) “csdn”
3) (integer) 2
---------------------变化如下:(实时接收到了该频道的发布者的消息)------------
- “message” – 返回值类型:消息
- “mrtt” – 来源(从哪个频道发过来的)
- “I am mrtt” – 消息内容
这样大部分80%的操作都是读取数据,所以在之前给大家介绍的架构图中,读写分离的方式,从而减轻服务器压力,这样也就是集群的环境了。
#一般推荐搭建方式为1主2从为最低配。
主从复制(redis集群)的作用
#1 数据冗余: 主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式,在大数据领域,冗余一般是指一模一样的数据存储多于一份的情况.
#2 数据灾备(故障恢复): 当主节点出现问题时,可以由从节点提供服务,实现快速的故障服务
#3 负载均衡:主从复制的基础之上,可以实现读写分离,提高并发了量。
#4 高可用(集群)基础:主从复制是哨兵和集群实施的基础,因此说redis的主从复制是高可用的基础(集群环境的基础)
#所以在真实的项目中,我们不可能是单机模式,基本都是搭建redis集群,实现高可用和高并发。
集群的基础搭建(单机多集群)
基础命令
#info 查看所有配置信息 – 信息太多。
#info server 服务器信息
#info clients 表示已连接客户端信息
#info cpu CPU 计算量统计信息
#info replication 主从复制信息 **************************
首先查看当前环境信息
info replication
准备工作
#将存储方式改为rdb
#搭建1主2从集群 6379 6380 6381
#多复制2份 redis-config 文件 并修改对应的端口号和dump6379.rdb dump6380.rdb dump6381.rdb
#修改pidfile记录文件
#修改启动日志文件名
#主机配置 - 6379
#主机端口port --> 6379 不用修改
#pidfile --> 守护进程产生的文件 默认redis_6379 主机也不用改
#日志logfile --> 改成"6379.log"
#数据库文件dbfilename --> dump6379.rdb
#从机配置-1 6380
#主机端口port --> 6380
#pidfile --> 守护进程产生的文件 默认redis_6380
#日志logfile --> 改成"6380.log"
#数据库文件dbfilename --> dump6380.rdb
#从机配置-2 6381
#主机端口port --> 6381
#pidfile --> 守护进程产生的文件 默认redis_6381
#日志logfile --> 改成"6381.log"
#数据库文件dbfilename --> dump6381.rdb
一主二从配置
默认情况下,每一台redis服务器都是主节点 - 所以我们只要配置从机就可以了!! 分别连接客户端(对应端口登录) 通过 info replication查看情况 — 默认都是主机。
主机:master
从机:
命令配置临时的主从机:(主机的IP和端口)
SLAVEOF 127.0.0.1 6379
配置文件配置主从机:(永久生效)
#replicaof 127.0.0.1 6379
哨兵
哨兵的优势:# 相比上面手动指定老大,那么哨兵模式就是自动选举老大!
概念
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
#哨兵有两个作用
1 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。
2 当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机
配置单哨兵
哨兵的配置文件:
内容:
#文件配置内容 monitor(监视器) 1 为故障发起投票 2
#sentinel monitor 哨兵命名 地址 端口 1
sentinel monitor mymaster 127.0.0.1 6379 2
启动哨兵
redis-sentinel /opt/redis-7.0.5/sentinel.conf
哨兵模式总结
优点
- 哨兵集群 基于主从复制模式,所有主从复制的优点它全有
- 主从可以切换,故障可以转移,系统可用性高
- 哨兵模式就是主从复制的升级,从手动到自动,更加完善。
缺点 - 一旦配置了哨兵集群,redis的扩容就会比较复杂,一旦容量到达上限在线扩容比较麻烦。
- 实现哨兵配置集群文件也比较多,类似与redis主从配置,需要很好的设计思路。