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

南京制作网页培训班西安seo专员

南京制作网页培训班,西安seo专员,网络规划设计师考试费用,软件开发公司组织架构一、哨兵模式原理及作用 1.原理 哨兵(sentinel): 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现 故障时,通过投票机制选择新的master并将所有slave连接到新的master。所以整个运行哨兵的集…

一、哨兵模式原理及作用

 1.原理

        哨兵(sentinel): 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现 故障时,通过投票机制选择新的master并将所有slave连接到新的master。所以整个运行哨兵的集群的数量不得少于三个节点。(哨兵必须是奇数)

2.作用

(1)监控: 哨兵会不断地检测主节点和从节点是否运行正常。

(2)自动故障转移: 当主节点不能正常工作时,哨兵会开始自动故障转移操作,她会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为新的主节点。

(3)通知(提醒): 哨兵可以将故障转移的结果发送给客户端。

二、如何开启Redis数据库主从复制

1.实验环境

虚拟机版本VMware® Workstation 16 Pro 16.2.4 build-20089737
镜像版本CentOS-7-x86_64-DVD-1708.iso
Redis版本Redis-5.0.7
主服务器地址192.168.254.106/24
从服务器1地址192.168.254.107/24
从服务器2地址192.168.254.108/24

2.实验要求

在主从复制的基础上通过修改配置文件完成redis哨兵和集群的配置

3.实验具体配置

systemctl stop firewalld

setenforce 0

vim /opt/redis-5.0.7/sentinel.conf

protected-mode no                                                      #17行,关闭保护模式

port 26379                                                             #21行,Redis哨兵默认的监听端口

daemonize yes                                                      #26行,指定sentinel为后台启动

logfile "/var/log/sentinel.log"                                 #36行,指定日志存放路径

dir "/var/lib/redis/6379"                                         #65行,指定数据库存放路径

sentinel monitor mymaster 192.168.254.106 6379 2      #84行,修改指定该哨兵节点监控192.168.254.106:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移

sentinel down-after-milliseconds mymaster 30000 #113行,判定服务器down掉的时间周期,默认30000毫秒(30秒)

sentinel failover-timeout mymaster 180000            #146行,故障节点的最大超时时间为180000(180秒)

4.启动哨兵模式

先启master,再启slave

cd /opt/redis-5.0.7/

redis-sentinel sentinel.conf &

注意!先启动主服务器,再启动从服务器

5.故障模拟

查看redis-server进程号

杀死Master节点上redis-server的进程号

6.验证结果

tail -f /var/log/sentinel.log

redis-cli -p 26379 INFO Sentinel

2.Redis集群模式

  1.集群的作用和数据分片

1.作用

(1)数据分区:数据分区(或称数据分片) 是集群最核心的功能。

        集群将数据分散到多个节点,一方面突破了 Redis 单机内存大小的限制,存储容量大大增加;另一方面每个主节点都可以对外提供读服务和写服务,大大提高了集群的响应能力。

        Redis 单机内存大小受限问题,在介绍持久化和主从复制时都有提及;例如,如果单机内存太大,bgsave 和 bgrewriteaof的 fork 操作可能导致主进程阻塞,主从环境下主机切换时可能导致从节点长时间无法提供服务,全量复制阶段主节点的复制缓冲区可能溢出。

(2)高可用:集群支持主从复制和主节点的自动故障转移(与哨兵类似) ;当任一节点发生故障时,集群仍然可以对外提供服务。

数据分片

(1)Redis集群引入了哈希槽的概念

(2)Redis集群有 16384 个哈希槽( 编号0-16383)

(3)集群的每个节点负责一部分哈希槽

(4)每个Key 通过 CRC16 校验后对16384取余来决定放置哪个哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。

<- - -以3个节点组成的集群为例- - ->

节点A 包含0到5460号哈希槽

节点B 包含5461到10922号哈希槽

节点C 包含10923到16383号哈希槽

环境准备

1.redis的集群一般需要**6个节点,3主3从**。 方便起见, 这里所有节点在3台服务器上模拟,每台主机上设置一主一备,以IP地址和端口进行区分:

(1)三个主节点端口号:6001,6002,6003

(2)对应的从节点端口号:7001,7002,7003

服务器类型系统和IP地址需要安装的组件节点端口
Master1CentOS7.4(64位) 192.168.254.106redis-5.0.7.tar.gz6001
Slave 1CentOS7.4(64位) 192.168.254.106redis-5.0.7.tar.gz7001
Master2CentOS7.4(64位) 192.168.254.107redis-5.0.7.tar.gz6002
Slave 2CentOS7.4(64位) 192.168.254.107redis-5.0.7.tar.gz7002
Master3CentOS7.4(64位) 192.168.254.108redis-5.0.7.tar.gz6003
Slave 3CentOS7.4(64位) 192.168.254.108redis-5.0.7.tar.gz7003

3.创建目录复制配置文件到对应的节点上

(1)第一台主机:192.168.254.106

cd /etc/redis/

mkdir -p redis-cluster/redis6001

mkdir -p redis-cluster/redis7001

cp /opt/redis-5.0.7/redis.conf /etc/redis/redis-cluster/redis6001/

cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis6001/

cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis7001/

(2)第二台主机:192.168.254.107

cd /etc/redis/

mkdir -p redis-cluster/redis6002

mkdir -p redis-cluster/redis7002

cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis6002/

cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis7002/

(3)第三台主机:192.168.254.108

cd /etc/redis/

mkdir -p redis-cluster/redis6003

mkdir -p redis-cluster/redis7003

cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis6003/

cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis7003/

4. 修改主配置文件,设置开启集群功能

先在Master1上配置,然后将配置文件复制到其他节点服务器

#Master1配置如下,其他5个服务器的配置文件类似,注意6个端口都要不一样。

cd /etc/redis/redis-cluster/redis6001

vim redis.conf

#bind 127.0.0.1                                               #69行,注释掉bind 项,默认监听所有网卡

protected-mode no                                        #88行,修改,关闭保护模式

port 6001                                                       #92行,修改,redis监听端口

daemonize yes                                               #136行,以独立进程启动

cluster-enabled yes                                        #832行,取消注释,开启群集功能

cluster-config-file nodes-6379.conf         #840行,取消注释,取消注释,群集名称文件设置

cluster-node-timeout 15000                           #846行,取消注释群集超时时间设置

appendonly yes                                              #699行,修改,开启AOF持久化

启动所有redis节点

 启动群集

#前三台为Master,后三台为Slave,下面交互的时候需要输入yes 才可以创建。

redis-cli --cluster create 192.168.254.106:6001 192.168.254.107:6002 192.168.254.108:6003 192.168.254.106:7001 192.168.254.107:7002 192.168.254.108:7003 --cluster-replicas 1

 #-replicas 1   表示每个主节点有1个从节点。

测试集群

 #加-c参数,节点之间就可以互相跳转

redis-cli -h 192.168.156.10 -p 6001 -c

 #查看节点的哈希槽编号范围

192.168.156.10:6001> cluster slots   

192.168.156.10:6001> set hobby dance

#查看键的槽编号   

192.168.156.110:6002> cluster keyslot hobby


总结

        以上就是Redis高可用的两种方法,这两种方法均以Redis主从复制为基石。它们可以很好的应对web2.0纯动态网站类型的三高问题.

http://www.hkea.cn/news/226007/

相关文章:

  • 360应用商店seo服务套餐
  • 废橡胶网站建设个人博客网页设计
  • 什么网站做一手项目好域名查询官网
  • 做日用品的要找什么网站好站长工具端口检测
  • 贵州软件开发 网站开发手机版百度一下
  • 企业网站建立答辩问题百度怎么发布广告
  • 温州快建网站地推拉新接单网
  • 濉溪县城乡建设委员会燃气办网站热狗网站排名优化外包
  • 网站能不能自己做免费的seo教程
  • 湖南的商城网站建设优化教程网下载
  • 做网站需要哪些工程师西安seo诊断
  • tp做的网站封装成app2023北京封控了
  • 增城做网站要多少钱推广普通话手抄报
  • 石家庄网站系统开发智能搜索引擎
  • 迅速网站网络营销平台推广方案
  • 学前端要逛那些网站微信引流主动被加软件
  • 韩国flash网站免费手机网站建站平台
  • 东莞做网站卓诚网络昆明长尾词seo怎么优化
  • WordPress个性萌化插件郑州seo优化哪家好
  • 专业手机移动网站建设免费的seo优化
  • 西安网站建设王永杰域名注册 万网
  • 网站营销优化方案北京做的好的seo公司
  • 企业网站排名提升软件优化南宁seo优化
  • 创意合肥网站建设杭州seo公司排名
  • 网站专题页是什么中国十大关键词
  • 五月天做网站网络策划与营销
  • 高校网站如何建设论文谷歌官网下载
  • 做网站内容软件个人网站怎么做
  • 收废铁的做网站有优点吗海南百度推广开户
  • wordpress 二维码插件下载信阳搜索引擎优化