网站开发后怎么转安卓app,校园网站建设与管理,徐州集团网站建设,公司做铸造的招聘网站都有哪些目录
一、redis主从服务
一、redis主从服务概念
二、redis主从服务作用
三、缺点
四、主从复制流程
五、搭建主从服务
配置基础环境 下载epel源#xff0c;下载redis编辑 二、哨兵模式
一、概念
二、作用
三、缺点
四、结构
五、搭建 修改哨兵配置文件 启动服务…目录
一、redis主从服务
一、redis主从服务概念
二、redis主从服务作用
三、缺点
四、主从复制流程
五、搭建主从服务
配置基础环境 下载epel源下载redis编辑 二、哨兵模式
一、概念
二、作用
三、缺点
四、结构
五、搭建 修改哨兵配置文件 启动服务 并查看 六、验证
先查看哨兵日志 验证停止主服务器查看是否生成新的主服务器
三、redis集群
一、概念
二、原理
三、构架细节
四、选举过程
五、搭建多台redis-cluster模式
配置基础环境
制作实验数据分析图
配置redis配置文件 将六个redis服务加入集群 分配slots编辑 建立从属关系
查看集群所有群节点 查看集群状态编辑
六、验证 一、redis主从服务
一、redis主从服务概念 是指将一台Redis服务器的数据复制到其他的Redis服务器。前者称为主节点(Master)后者称为从节点(Slave)数据的复制是单向的只能由主节点到从节点。
二、redis主从服务作用 数据冗余 主从复制实现了数据的热备份是持久化之外的一种数据冗余方式。 故障恢复 当主节点出现问题时可以由从节点提供服务实现快速的故障恢复实际上是一种服务的冗余。 负载均衡 在主从复制的基础上配合读写分离可以由主节点提供写服务由从节点提供读服务即写Redis数据时应用连接主节点读Redis数据时应用连接从节点分担服务器负载尤其是在写少读多的场景下通过多个从节点分担读负载可以大大提高Redis服务器的并发量。 高可用 除了上述作用以外主从复制还是哨兵和集群能够实施的基础因此说主从复制是Redis高可用的基础。
三、缺点 故障恢复无法自动化 写操作无法负载均衡 存储能力受到单机的限制。
四、主从复制流程 第一步 若启动一个Slave机器进程则它会向Master机器发送一个“sync command”命令请求同步连接。 第二步 无论是第一次连接还是重新连接Master机器都会启动一个后台进程将数据快照保存到数据文件中执行rdb操作同时Master还会记录修改数据的所有命令并缓存在数据文件中。 第三步 后台进程完成缓存操作之后Maste机器就会向Slave机器发送数据文件Slave端机器将数据文件保存到硬盘上然后将其加载到内存中接着Master机器就会将修改数据的所有操作一并发送给Slave端机器。若Slave出现故障导致宕机则恢复正常后会自动重新连接。 第四步 Master机器收到Slave端机器的连接后将其完整的数据文件发送给Slave端机器如果Mater同时收到多个Slave发来的同步请求则Master会在后台启动一个进程以保存数据文件然后将其发送给所有的Slave端机器确保所有的Slave端机器都正常。 需要使用抓包工具才可以观察到
五、搭建主从服务
配置基础环境 systemctl stop firewalld
systemctl enable firewalld
systemctl stop NetowrkManger
systemctl enable NetwrokManger
setenforce 0
sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config
cat e /etc/sysconfig/network-scripts/ifcfg-ens33
TYPEEthernet
BOOTPROTOstatic
NAMEens33
DEVICEens33
ONBOOTyes
IPADDR$1
PREFIX24
GATEWAY192.168.100.2
DNS1192.168.100.2
e
systemctl restart network 编写运行脚本。并运行 vim init.d ./init.d 192.168.100.6 能够连接网络 下载epel源下载redis 复制redis配置文件原文件不进行修改 主文件redis_6379.conf 从文件 redis_6380.conf 修改两个配置文件修改配置文件 主 bind 0.0.0.0 port 6379 protected-mode no daemonize yes
从 bind 0.0.0.0 port 6380 protected-mode no daemonize yes slaveof 192.168.115.100.6 6379 六、验证是否进行复制
登录主服务器 登录从服务器 二、哨兵模式
一、概念 是一个分布式系统用于对主从结构中的每台服务器进行监控当出现故障时通过投票机制选择新的 Master 并将所有 Slave 连接到新的 Master。所以整个运行哨兵的集群的数量不得少于3个节点。 依托于主从模式
二、作用 监控 哨兵会不断地检查主节点和从节点是否运作正常。 自动故障转移 当主节点不能正常工作时哨兵会开始自动故障转移操作它会将失效主节点的其中一个从节点升级为新的主节点并让其他从节点改为复制新的主节点。 通知提醒 哨兵可以将故障转移的结果发送给客户端。
三、缺点 写操作无法负载均衡 存储能力受到单机的限制 哨兵无法对从节点进行自动故障转移在读写分离场景下从节点故障会导致读服务不可用需要对从节点做额外的监控、切换操作。
四、结构 哨兵节点 哨兵系统由一个或多个哨兵节点组成哨兵节点是特殊的redis节点不存储数据。 数据节点 主节点和从节点都是数据节点。
五、搭建
复制哨兵文件 分别监听主从 一主二从即可
修改服务配置文件 一主二从分别为 redis_6379.conf redis_6380.conf redis _6381.conf 修改哨兵配置文件 bind 0.0.0.0 port 对应服务端口 daemonize yes sentinel monitor mymaster 192.168.115.160 6379 2 启动服务 并查看 六、验证
先查看哨兵日志
cat /var/log/redis/sentinel.log 验证停止主服务器查看是否生成新的主服务器 主服务器从端口6379变为6380
三、redis集群
一、概念 Redis3.0版本以上开始支持cluster采用的是hashslothash槽可以将多个Redis实例整合在一起形成一个群集也就是将数据分散到群集的多台机器上。
二、原理 Redis Cluster是一个无中心的结构每个节点都保存数据和整个群集的状态。每个节点都会保存其他节点的信息知道其他节点所负责的槽并且会与其他节点定时发送心跳信息能够及时感知群集中异常的节点。
三、构架细节 所有的redis节点彼此互联PING-PONG机制内部使用二进制协议优化传输速度和带宽。 节点的失效fail在群集中超过半数的主master节点检测失效时才生效。 客户端与 redis 节点直连不需要中间代理proxy层客户端不需要连接群集所有节点连接群集中任何一个可用节点即可。 redis-cluster 把所有的物理节点映射到【0-16383】slot 上cluster 负责维护 node-slot-key。
四、选举过程 选举过程是群集中所有master参与如果半数以上master节点与当前 master 节点通信超时cluster—node—timeout认为当前 master 节点挂掉。以下两种情况为整个群集不可用cluster_statefail当群集不可用时所有对群集的操作都不可用收到(errorCLUSTEFDOWN The cluster is down错误。 如果群集任意 master挂掉且当前 master 没有 slave则群集进入 fail状态也可以理解成群集的slot映射【0 ~16383】不完整时进入fail状态。 如果群集中超过半数的master挂掉无论是否有slave群集都进入 fail状态。 默认情况下每个群集的节点都使用两个TCP端口.一个是6379一个是163796379服务于客户端的连接16379 用于群集总线即使用二进制协议的节点到节点通信通道。节点使用群集总线进行故障检测、配置更新、故障转移授权等。如果开启了防火墙需要开放这两个端口。
五、搭建多台redis-cluster模式
配置基础环境
编写脚本运行脚本。vim init.d systemctl stop firewalld systemctl enable firewalld systemctl stop NetowrkManger systemctl enable NetwrokManger setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config cat e /etc/sysconfig/network-scripts/ifcfg-ens33 TYPEEthernet BOOTPROTOstatic NAMEens33 DEVICEens33 ONBOOTyes IPADDR$1 PREFIX24 GATEWAY192.168.100.2 DNS1192.168.100.2 e systemctl restart network 制作实验数据分析图 分别配置三台主机 IP分别为 192.168.100.3 192.168.100.4 192.168.100.5
192.168.100.3 命名为redis-server1
192.168.100.4 命名为redis-server2
192.168.100.5 命名为redis-server3 使用finalshell 连接主机
配置redis配置文件
server1 配置两个redis配置文件 server2、server3相同 修改配置文件 添加路径区分redis服务 f分别为
/var/lib/redis/redis1-6379 /var/lib/redis/redis2-6380 192.168.100.3 主机
/var/lib/redis/redis3-6379 /var/lib/redis/redis4-6380 192.168.100.4 主机
/var/lib/redis/redis5-6379 /var/lib/redis/redis6-6380 192.168.100.5 主机 启动redis服务查看状态 将六个redis服务加入集群
修改配置文件
cluster-enabled yes cluster-config-file nodes-【6379~6384】.conf对应相应的redis服务端口 cluster-node-timeout 15000 启动redis服务登录其中一个节点将所有redis加入集群 分配slots 建立从属关系 查看集群所有群节点 查看集群状态
六、验证 因为redis是采用哈希槽输入数据相对应的哈希槽值需要登录对应的redis服务进行输入数据