当前位置: 首页 > wzjs >正文

系统建站太原做手机网站设计

系统建站,太原做手机网站设计,wordpress美化主题,温州专业营销网站费用目录 一、Redis的主从复制简介1.1 什么是主从复制?1.2 主从复制的优缺点1.3 主从复制场景应用 二、Redis的主从复制工作原理2.1 全量复制2.2 增量复制 三、主从复制搭建(主从复制引入)3.1 搭建步骤3.2 测试主从复制 Redis一共有三大集群模式&…

目录

    • 一、Redis的主从复制简介
      • 1.1 什么是主从复制?
      • 1.2 主从复制的优缺点
      • 1.3 主从复制场景应用
    • 二、Redis的主从复制工作原理
      • 2.1 全量复制
      • 2.2 增量复制
    • 三、主从复制搭建(主从复制引入)
      • 3.1 搭建步骤
      • 3.2 测试主从复制

Redis一共有三大集群模式:主从复制模式(Master-Slave)哨兵模式(Sentinel)Cluster模式,这里我们主要介绍主从复制模式的工作原理和搭建。

一、Redis的主从复制简介

1.1 什么是主从复制?

主从模式(Master-Slave) 是 Redis 的一种基本集群模式,它通过将一个Redis节点(主节点)的数据复制到一个或多个其他Redis节点(从节点)来实现数据的冗余和备份。

  • 主节点 负责处理客户端的写操作;
  • 从节点 会实时同步主节点的数据,客户端可以从从节点读取数据,实现读写分离,提高系统性能。

1.2 主从复制的优缺点

优点:

  1. 配置简单,易于实现。
  2. 实现数据冗余,提高数据可靠性。
  3. 读写分离,提高系统性能。

缺点:

  1. 主节点故障时,需要手动切换到从节点,故障恢复时间较长。
  2. 主节点承担所有写操作,可能成为性能瓶颈。
  3. 无法实现数据分片,受单节点内存限制。

1.3 主从复制场景应用

主从复制模式适用于以下场景:

  1. 数据备份和容灾恢复: 通过从节点备份主节点的数据,实现数据冗余。
  2. 读写分离: 将读操作分发到从节点,减轻主节点压力,提高系统性能。
  3. 在线升级和扩展: 在不影响主节点的情况下,通过增加从节点来扩展系统的读取能力。

总结:主从复制模式适合数据备份、读写分离和在线升级等场景,但在主节点故障时需要手动切换,不能自动实现故障转移。如果对高可用性要求较高,可以考虑使用哨兵模式或Cluster模式。


二、Redis的主从复制工作原理

Redis 的主从复制可以根据是否全量分为:全量复制增量复制

2.1 全量复制

主从复制 是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为 主节点(master),后者称为 从节点(slave)

注意:数据的复制是单向的,只能由主节点到从节点。

Redis 的全量复制发生在 Slave(从节点)初始化阶段,即 从库第一次连接到主库时,此时 slave 需要将 master 主机上的所有数据都复制一份。

全量复制的具体过程如下:

在这里插入图片描述

  1. 从库跟主库建立 socket 连接,发送 SYNC 同步命令。
  2. 主库收到 SYNC 同步命令后,开始执行 BGSAVE 命令生成 .rdb 文件,并使用缓冲区记录此后的所有写命令。
  3. 主库 BGSAVE 执行完成之后,向所有从库发送快照,并在发送快照期间继续记录被执行的写命令。
  4. 从库收到快照文件后,丢弃所有的旧数据,载入收到的快照。
  5. 主库快照发送完毕之后开始向从库发送缓冲区中的写命令。
  6. 从库完成对快照的载入,开始接收命令请求,并执行来自主库缓冲区的写命令。

2.2 增量复制

增量复制 是指 Redis 的 slave(从节点)初始化后开始正常工作后,主库每执行一个写命令就会向从库发送一个相同的写命令,从库接收并执行收到的写命令的过程。对应主从复制中的第7步:

  1. 主库通过 socket 长连接持续把写命令发送给从库,保证主从数据一致性。

注意:增量复制和全量复制都是单向的,只能由主节点到从节点。


三、主从复制搭建(主从复制引入)

3.1 搭建步骤

开始搭建集群!6379 为主节点,63806381 为从节点。

搭建集权的完整步骤如下:

  1. 拷贝 redis.conf 配置文件,我们一共需要三台 redis-server,所以拷贝三份即可。
cp redis.conf redis6379.conf
cp redis.conf redis6380.conf
cp redis.conf redis6381.conf
  1. 修改配置文件,因为每个 redis-server 都是不同的实例,所以需要修改配置文件。

    修改内容如下:

  • 修改 port 端口;
  • 修改 pidfile 文件名;
  • 后台启动服务配置;
  • 修改 RDB 或 AOF 文件存放位置(具体看你用的持久化是 RDB 还是 AOF);
  • 修改 logfile 文件存放位置;
  • 修改 replication 中的配置 replicaof masterip masterport(配置文件是永久有效的,命令是临时有效:slaveof masterip masterport);

如下为修改后的具体配置信息:

主节点:redis6379.conf

# 改动内容如下:
bind 0.0.0.0 # 我这里是为了允许任意远程登录
protected-mode no # 关闭保护模式
port 6379  # 服务启动端口
daemonize yes # 后台启动
pidfile /var/run/redis_6379.pid # 指定pidfile文件
logfile "/myredis/redis6379.log" # 指定Logfile文件
dbfilename dump6379.rdb # 指定rdb文件名
dir /myredis/ # 指定工作目录
requirepass 123456 # 设定redis服务器的密码

从节点1:redis6380.conf

注意:Redis 从 2.8.0 版本开始正式支持 replicaof 命令,在此之前使用的是 slaveof 命令,功能相同但名称不同。

# 改动内容如下:
bind 0.0.0.0 # 我这里是为了允许任意远程登录
protected-mode no # 关闭保护模式
port 6380  # 服务启动端口
daemonize yes # 后台启动
pidfile /var/run/redis_6380.pid # 指定pidfile文件
logfile "/myredis/redis6380.log" # 指定Logfile文件
dbfilename dump6380.rdb # 指定rdb文件名
dir /myredis/ # 指定工作目录
replicaof 127.0.0.1 6379 # 指定从机的主机
masterauth 123456 # 从机的主机的密码验证requirepass 123456 # 设定redis服务器的密码

从节点2:redis6381.conf

# 改动内容如下:
bind 0.0.0.0 # 我这里是为了允许任意远程登录
protected-mode no # 关闭保护模式
port 6381  # 服务启动端口
daemonize yes # 后台启动
pidfile /var/run/redis_6381.pid # 指定pidfile文件
logfile "/myredis/redis6381.log" # 指定Logfile文件
dbfilename dump6381.rdb # 指定rdb文件名
dir /myredis/ # 指定工作目录
replicaof 127.0.0.1 6379 # 指定从机的主机
masterauth 123456 # 从机的主机的密码验证requirepass 123456 # 设定redis服务器的密码
  1. 启动每个服务,并且查看不同 redis-server 的配置信息 info replication

    执行命令如下:

# 命令格式:redis-server 配置文件路径
redis-server redis6379.conf
redis-server redis6380.conf
redis-server redis6381.conf

启动后,rdb 文件和 log 文件如下所示:

在这里插入图片描述

使用 ps -ef | grep redis 查看一下进程:

(Windows下使用 tasklist | findstr redis

登录到三台服务器上观察下:

主节点:6379端口

redis-cli -a 123456 -p 6379

从节点1:6380端口

redis-cli -a 123456 -p 6380

从节点2:6381端口

redis-cli -a 123456 -p 6381

3.2 测试主从复制

集群搭建好之后,我们测试一下基础的操作:

# 查看所有key
keys *
# 主节点写操作测试
set k1 v1
set k2 v2
# 主/从节点读操作测试
get k1
get k2
# 从节点写操作测试
set k3 v3

测试结果如下,可以发现:主节点用于读写数据,从节点用于读数据,不能写数据

在这里插入图片描述

至此,一主二从的主从复制模式已经搭建完毕了,但是正常业务中,并不是这么简单的。

整理完毕,完结撒花~🌻





参考地址:

1.Redis的主从复制和哨兵模式,https://developer.aliyun.com/article/1614267

2.彻底搞懂Redis主从复制原理及实战,https://www.cnblogs.com/cooffeeli/p/redis_master_slave.html

3.详解Redis三大集群模式,轻松实现高可用! https://www.cnblogs.com/yidengjiagou/p/17345831.html

http://www.dtcms.com/wzjs/817473.html

相关文章:

  • 网站服务器放置地怎么填写seo外链发布
  • 台州网站建设方案托管品牌商城网站开发
  • 无锡网站app微信号济南网站优化小黑
  • 网站做镜像北京app建设 网站开发公司
  • 个人网站和企业网站的区别公司建网站哪家
  • 品牌建设网站公司建设公司与建筑公司的区别
  • 请人做网站合同营销型网站开发推广
  • 漂流瓶做任务网站长沙县网络营销咨询
  • 可用来做外链推广的网站wordpress好看博客主题
  • 所有工程建设前会在哪个网站公式湛江网站建设制作费用
  • 西安网站seo技术厂家一对一视频网站开发
  • 佛山企业网站制作西安网站建设 中讯创赢
  • 网站开发和运营维护南通网站建设有限公司
  • 网站建设业务拓展思路公司企业宣传片视频
  • wordpress建好本地站怎么上传旅游网站建设规划方案
  • 做网站电脑和手机都是一样可以看吗Dw做网站怎么加logo
  • 北京网站制作很好 乐云践新安徽运营网络营销推荐咨询
  • 怎样去同行网站做外连接公司网站维护是做什么的
  • 大学精神文明建设专题网站深圳seo网站设计
  • 贵州省住房与城乡建设厅门户网站潇湘书院网站建设的目标
  • 专注江苏网站建设织梦如何做淘宝客网站
  • 网站伪静态苏州百度推广分公司电话
  • 龙岩北京网站建设网站静态化 好处
  • 一个做网站的软件校园网站建设申请报告
  • 平阳手机网站制作南宁的公司有哪些
  • 传奇手游新开服网站网站链接跳转怎么做
  • 兰溪好品质高端网站设计网站建设主要考虑哪些因素
  • 网站建设招标文件技术部分不规则网站模板
  • 网站建设分销协议河南网站优化公司
  • 网站备案注销找哪个部门品牌型网站开发