redis高可用之主从复制,哨兵,集群

Redis高可用之主从复制 哨兵 集群 Redis主从复制 哨兵 集群 阅读详情

目录

前言

一、主从复制

1、主从复制的作用

2、主从复制流程

3、部署Redis 主从复制步骤

3.1 环境准备

3.2 首先要搭建redis,并关闭防火墙

3.3 修改Redis 配置文件(Master节点操作)

3.4 修改Redis 配置文件(Slave节点操作)

3.5 验证主从效果

二、哨兵

1、哨兵模式原理

2、哨兵模式的作用

3、哨兵结构

4、故障转移机制

4.1 由哨兵节点定期监控发现主节点是否出现了故障

4.2 当主节点出现故障

4.3 由leader哨兵节点执行故障转移,过程如下:

5、主节点的选举

6、哨兵模式的部署操作

6.1 环境准备

6.2 修改Redis哨兵模式的配置文件(所有节点操作)

6.3 启动哨兵模式

6.4 查看哨兵信息

6.5 故障模拟

三、集群

1、集群的作用,可以归纳为两点

2、Redis集群的数据分片

3、以3个节点组成的集群为例

4、Redis集群的主从复制模型

5、Redis 集群部署步骤

5.1 环境准备

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

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

5.4 启动redis节点

5.5 启动集群

5.6 测试群集

在其他节点查看


前言

redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,下面会讲解一下三种模式的工作方式,以及如何搭建cluster群集

一、主从复制

        主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的货载均衡和简单的故障恢复。缺陷: 故障恢复无法自动化; 写操作无法负载均衡;存储能力受到单机的限制

        主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave); 数据的复制是单向的,只能由主节点到从节点。

        默认情况下,每台Redis服务器都是主节点:且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

1、主从复制的作用

  1. 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式
  2. 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。
  3. 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务.由从节点提供读服务 (即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载:尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。
  4. 高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制制是Redis高可用的基础。

2、主从复制流程

  1. 若启动一个slave机器进程,则它会向Master机器发送一个“synccommand"命令,请求同步连接。
  2. 无论是第一次连接还是重新连接,Master机器都会启动一个后台进程,将数据快照保存到数据文件中(执行rdb操作) ,同时Master还会记录修改数据的所有命令并缓存在数据文件中。
  3. 后台进程完成缓存操作之后,Master机器就会向slave机器发送数据文件slave端机器将数据文件保存到硬盘上,然后将其加载到内存中,接着Maste机器就会将修改数据的所有操作一并发送给slave端机器。若slave出现故障导致宕机,则恢复正常后会自动重新连接。
  4. Master机器收到slave端机器的连接后,将其完整的数据文件发送给slave端机器,如果Mater同时收到多个slave发来的同步请求,则Master会在后台启动一个进程以保存数据文件,然后将其发送给所有的slave端机器,确保所有的slave端机器都正常。

3、部署Redis 主从复制步骤

3.1 环境准备

  • master节点: 192.168.157.45 Redis
  • slave1节点: 192.168.157.55 Redis
  • slave2节点: 192.168.157.65 Redis

3.2 首先要搭建redis,并关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
yum install -y gcc gcc-c++ make
#将redis-5.0.7.tar.gz的压缩包上传到/opt中
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install
cd /opt/redis-5.0.7/utils
./install_server.sh
......
Please select the redis executable path []  /usr/local/redis/bin/redis-server
 
ln -s /usr/local/redis/bin/* /usr/local/bin/

3.3 修改Redis 配置文件(Master节点操作)

vim /etc/redis/6379.conf
bind 0.0.0.0                       #70行,注释掉bind项,或修改为0.0.0.0,默认监听所有网卡
daemonize yes                      #137行,开启守护进程
logfile /var/log/redis_6379.log            #172行,指定日志文件目录
dir /var/lib/redis/6379                    #264行,指定工作目录
appendonly yes                     #700行,开启AOF持久化功能
 
/etc/init.d/redis_6379 restart

3.4 修改Redis 配置文件(Slave节点操作)

vim /etc/redis/6379.conf
bind 0.0.0.0                         #70行,修改监听地址为0.0.0.0
daemonize yes                        #137行,开启守护进程
logfile /var/log/redis_6379.log                  #172行,指定日志文件目录
dir /var/lib/redis/6379                          #264行,指定工作目录
replicaof 192.168.157.45 6379                    #287行,取消注释并指定要同步的Master节点IP和端口
appendonly yes                       #700行,开启AOF持久化功能
 
/etc/init.d/redis_6379 restart

3.5 验证主从效果

在Master节点上看日志:
tail -f /var/log/redis_6379.log
 
在Master节点上验证从节点:
redis-cli
127.0.0.1:6379> info replication

二、哨兵

        在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡:存储能力受到单机的限制;哨兵无法对从节点进行自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用,需要对从节点做额外的监控、切换操作。

        主从切换技术的方法是:当服务器宕机后,需要手动一台从机切换为主机,这需要人工干预,不仅费时费力而且还会造成一段时间内服务不可用。为了解决主从复制的缺点,就有了哨兵机制制。
        消兵的核心功能: 在主从复制的基础上,哨兵引入了主节点的自动故障转移

1、哨兵模式原理

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

2、哨兵模式的作用

  • 监控: 哨兵会不断地检查主节点和从节点是否运作正常。
  • 自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其它从节点改为复制新的主节点。
  • 通知(提醒) : 哨兵可以将故障转移的结果发送给客户端。

3、哨兵结构

哨兵结构由两部分组成,哨兵节点和数据节点:

  • 哨兵节点: 哨兵系统由一个或多个哨兵节点组成,哨兵节点是特殊的redis节点,不存储数据。
  • 数据节点:主节点和从节点都是数据节点。

4、故障转移机制

4.1 由哨兵节点定期监控发现主节点是否出现了故障

        每个哨兵节点每隔1秒会向主节点、从节点及其它哨兵节点发送一次ping命令做一次心跳检测。如果主节点在一定时间范围内不回复或者是回复一个错误消息,那么这个哨兵就会认为这个主节点主观下线了 (单方面的) 。当超过半数哨兵节点认为该主节点主观下线了,这样就客观下线了。

4.2 当主节点出现故障

        此时哨兵节点会通过Raft算法(选举算法)实现选举机制共同选举出一个哨兵节点为leader,来负责处理主节点的故障转移和通知。所以整个运行哨兵的集群的数量不得少于3个节点。

4.3 由leader哨兵节点执行故障转移,过程如下:

  • 将某一个从节点升级为新的主节点,让其它从节点指向新的主节点;
  • 若原主节点恢复也变成从节点,并指向新的主节点:。
  • 通知客户端主节点已经更换。


需要特别注意的是:客观下线是主节点才有的概念;如果从节点和哨兵节点发生故障,被哨兵主观下线后,不会再有后续的客观下线和故障转移操作。

5、主节点的选举

  1. 过滤掉不健康的(已下线的),没有回复哨兵 ping 响应的从节点。
  2. 选择配置文件中从节点优先级配置最高的。 (replica-priority,默认值为100)
  3. 选择复制偏移量最大,也就是复制最完整的从节点。

哨兵的启动依赖于主从模式,所以须把主从模式安装好的情况下再去做哨兵模式

6、哨兵模式的部署操作

6.1 环境准备

  • master节点: 192.168.229.66 Redis
  • slave1节点: 192.168.229.22 Redis
  • slave2节点: 192.168.229.200 Redis

6.2 修改Redis哨兵模式的配置文件(所有节点操作)

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.2.66 6379 2                #84行, 修改
指定该哨兵节点监控192.168.2.66:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移
sentinel down-after-milliseconds mymaster 30000                #113行,判定服务器down掉的时间周期,默认30000毫秒(30秒)
sentinel failover-timeout mymaster 180000                      #146行,故障节点的最大超时时间为180000 (180秒 )

6.3 启动哨兵模式

注意:先启master,再启slave
cd /opt/redis-5.0.7/
redis-sentinel sentinel.conf &

6.4 查看哨兵信息

redis-cli -p 26379 info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.200.10:6379,slaves=2,sentinels=3

6.5 故障模拟

#查看redis-server进程号(在Master 上进行):
ps -ef | grep redis
5 S root      57521      1  0  80   0 - 39869 ep_pol 15:31 ?        00:00:02 /usr/local/redis/bin/redis-server 0.0.0.0:6379
5 S root      57951      1  0  80   0 - 38461 ep_pol 16:00 ?        00:00:01 redis-sentinel *:26379 [sentinel]
0 R root      58035  15559  0  80   0 - 28169 -      16:08 pts/2    00:00:00 grep --color=auto redis
 
#杀死 Master 节点上redis-server的进程号
kill -9 57521      #Master节点上redis-server的进程号
 
#验证结果,查看master是转换至从服务器
tail -f /var/log/sentinel.log
 
#在Slave1上查看是否转换成功
redis-cli -p 26379 INFO Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.200.20:6379,slaves=2,sentinels=3

获取redis的pid,并杀死 Master 节点上redis-server的进程号

验证结果,查看master是转换至从服务

在Slave1上查看是否转换成功

三、集群

        通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。

• 集群,即 Redis Cluster, 是Redis 3. 0开始引入的分布式存储方案

• 集群由多个节点(Node) 组成,Redis 的数据分布在这些节点中。集群中的节点分为主节点和从节点;只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制

• 集群中的节点分为主节点和从节点

主节点负责读写请求和集群信息的维护;

从节点只进行主节点数据和状态信息的复制

1、集群的作用,可以归纳为两点

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

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

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

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

2、Redis集群的数据分片

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

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

• 集群的每个节点负责一部分哈希槽

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

3、以3个节点组成的集群为例

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

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

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

4、Redis集群的主从复制模型

集群中具有A、B、C三个节点,如果节点B失败了,整个集群就会因缺少5461-10922这个范围的槽而不可以用。

为每个节点添加一个从节点A1、B1、C1整个集群便有三个Master节点和三个slave节点组成,在节点B失败后,集群选举B1位为主节点继续服务。当B和B1都失败后,集群将不可用

5、Redis 集群部署步骤

5.1 环境准备

redis的集群一般需要6个节点, 3主3从。

方便起见,这里所有节点在同一台服务器上模拟: 以端口号进行区分: 3个主节点端口号: 6001/6002/6003, 对应的从节点端口号: 6004/6005/6006  

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

cd /etc/redis/
mkdir -p redis-cluster/redis600{1..6}
 
for i in {1. .6}
do
cp /opt/redis-5.0.7/redis.conf /etc/redis/redis-cluster/redis600$i
cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis600$i
done

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

其他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行,开启守护进程,以独立进程启动
appendonly yes          #699行,修改,开启AOF持久化
cluster-enabled yes     #832行,取消注释,开启群集功能
cluster-config-file nodes-6001.conf    #840行,取消注释,群集名称文件设置
cluster-node-timeout 15000             #846行,取消注释群集超时时间设置
 
#可以写一个for循环将6001的文件复制给6002~6006,这样就不需要全部一个一个文件进行修改了
for i in {2..6}
do
/usr/bin/cp -f /etc/redis/redis-cluster/redis6001/redis.conf /etc/redis/redis-cluster/redis600$i/redis.conf
done
#之后稍微修改文件即可

可以写一个for循环将6001的文件复制给6002~6006,这样就不需要全部一个一个文件进行修改;复制之后修改端口号即可(92行和840行)

5.4 启动redis节点

方法一:<br>分别进入那六个文件夹,执行命令: redis-server redis.conf,来启动redis节点
cd /etc/redis/redis-cluster/redis6001
redis-server redis.conf
<br>方法二:使用for循环
for d in {1..6}
do
cd /etc/redis/redis-cluster/redis600$d
redis-server redis.conf
done
 
ps -ef | grep redis

5.5 启动集群

redis-cli --cluster create 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 --cluster-replicas 1
 
#六个实例分为三组,每组一主一从,前面的做主节点,后面的做从节点。下面交互的时候需要输入yes 才可以创建。
-replicas 1       #表示每个主节点有1个从节点。

5.6 测试群集

redis-cli -p 6001 -c              #加-c参数,节点之间就可以互相跳转
127.0.0.1:6001> cluster slots     #查看节点的哈希槽编号范围
1) 1) (integer) 5461
   2) (integer) 10922      #哈希槽编号范围
   3) 1) "127.0.0.1" .
      2) (integer) 6003       #主节点IP和端口号
      3) " fdca661922216dd69a 63a7c9d3c4540cd6baef44"
   4) 1) "127.0.0.1"
      2) (integer) 6004       #从节点IP和端口号
      3) "a2c0c32aff0f38980accd2b63d6d952812e44740"
2) 1) (integer) 0
   2) (integer) 5460
   3) 1) "127.0.0.1"
      2) (integer) 6001
      3) "0e5873747a2e2 6bdc935bc76c2ba fb19d0a54b11"
   4) 1) "127.0.0.1"
      2) (integer) 6006
      3) "8842ef5584a85005e135fd0ee59e5a0d67b0cf8e"
3) 1) (integer) 10923
   2) (integer) 16383
   3) 1) "127.0.0.1"
      2) (integer) 6002
      3) "81 6ddaa3d14 69540b2f fbcaaf9aa867646846b30"
   4) 1) "127.0.0.1"
      2) (integer) 6005
      3) "f847077bfe6722466e96178ae8cbb09dc8b4d5eb"
 
127.0.0.1:6001> set name zhangsan
-> Redirected to slot [5798] located at 127.0.0.1: 6003
OK
 
127.0.0.1:6001> cluster keyslot name    #查看name键的槽编号
(integer) 5798

注:这里用的一台机子测试  

在其他节点查看

Redis高可用(持久化、主从复制、哨兵、集群) 目录 一、Redis高可用 1. Redis高可用概述 2. Redis高可用策略 二、Redis持久化 1. Redis持久化的功能 2. Redis持久化的两种方式 3. RDB持久化 4. AOF持久化 5. RDB和AOF的优缺点 三、Redis主从复制 1. 主从复制的概述 2. 主从复制的作用 3. 主从复制的流程 4. 搭建Redis主从复制 四、Redis哨兵模式 1. 哨兵模式的核心功能 2. 哨兵模式的原理 3. 哨兵模式的作用 4. 哨兵模式的结构 阅读详情

相关推荐

图像调整亮度饱和度 c语言,【C#/WPF】调节图像的HSL(色相、饱和度、明亮度)...

先说概念:HSL是一种描述颜色的方式(其他颜色描述方式还有大家熟悉的RGB值)。HSL三个字母分别表示图像的Hue色相、Saturation饱和度、Lightness明亮度。需求:制作一个面板,包含三个滑动条,拖动滑动条可以修改目标图片的HSL值。即模仿PS中类似的功能,如下图:方案一:遍历所有像素点,修改每个点的HSL值。前台界面:一个Image控件显示目标图片,一个Button按钮点击一下降低...

weixin_39935777的博客 1155

Redis高可用主从复制、哨兵、集群

Redis做好主从复制之后,当master节点遇到故障,并不会自动切换slave节点继续运行,达不到高可用的情况,所以就需要配置哨兵来实现自动切换故障的功能。当master宕机后,哨兵可以根据投票选举机制,在众多slave节点中选出一个节点作为master继续执行。Redis集群模式就是,可以解决写的操作无法负载均衡,存储受到单机限制,以及故障自动切换功能的一种集群。集群由多个节点组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点。

一个闲人 2138

从叶片之舞到数据之眼:净空雷达如何重塑风电安全与效率的边界

净空雷达通过激光或毫米波技术实现风机叶片与塔筒间距离的毫米级实时监测,极大提升了风电场在极端天气下的安全性与运营效率。这项技术不仅预防扫塔事故,还通过数据可视化与智能分析赋能叶片健康管理和发电优化,成为风电数字化运维的核心基础设施。

xk7n92h3p5m的博客 1161

Redis高可用之主从复制、哨兵、cluster集群

在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。

Y_S_J_112的博客 1019

C# 开发 WPS 插件实战:从环境搭建到功能实现(附完整代码)

本文提供了一份详尽的C#开发WPS插件实战指南,涵盖从环境搭建到功能实现的完整流程。通过COM技术,开发者可以创建自定义插件,为WPS Office扩展自动化功能,如文档处理与格式转换。文章包含核心概念解析、Ribbon界面集成、调试部署方法及完整代码示例,帮助开发者快速上手。

rust6ferris的博客 928

29、机器人动力学中的欧拉 - 拉格朗日与哈密顿力学

本文深入探讨了机器人动力学中的欧拉-拉格朗日与哈密顿力学框架,涵盖向量流形上的辛结构、哈密顿方程的几何代数表述、泊松括号与积分不变量等核心概念。文章详细推导了机电系统中拉格朗日量与哈密顿量的构建方法,并结合牛顿-欧拉算法给出了局部哈密顿量和动量导数的迭代计算流程,适用于多关节机器人的动力学建模与控制设计。通过应用案例展示了理论在双关节机器人手臂中的实际运用,最后展望了其在优化控制、鲁棒性提升及智能融合方向的潜力。

perl8的博客 129

redis高可用之主从复制、哨兵以及Cluster集群

例如,如果单机内存太大,bgsave和bgrewriteaof的fork操作可能导致主进程阻塞,主从环境下主机切换时可能导致从节点长时间无法提供服务,全量复制阶段主节点的复制缓冲区可能溢出。1、由哨兵节点定期监控发现主节点是否出现了故障,每个哨兵节点每隔1秒会向主节点、从节点及其它哨兵节点发送一次ping命令做一次心跳检测。为每个节点添加一个从节点A1、B1、C1整个集群便有三个Master节点和三个slave节点组成,在节点B失败后,集群选举B1为新的主节点继续服务。当B和B1都失败后,集群将不可用。

2401_83883919的博客 1106

[深入研究4G/5G/6G专题-31]: 5G NR开机流程5.2 - UE Attach流程(Registeration Request/Accept/Complete)

目录前言:前置条件:第1章 5G NR UE attach流程(从UE log的视角看)1.0 NAS消息解析器1.1 消息交互流程1.2 UE Registeration Request消息(AMF->基站->UE)1.3 AMF Registeration Accept消息(AMF->基站->UE)1.4 UE Register complete消息(UE->基站->AMF)第2章 UE Register...............

文火冰糖(王文兵)的博客 7万+

Redis高可用之主从复制、哨兵、集群

如过要将以前的master的redis启动,需要先将/var/run/redis_6379.pid文件删除,删除执行在执行/etc/init.d/redis_6379 start ,即可启动redis服务,启动之后,哨兵会将它设置为salve从节点,并自动指向新的节点。前者称为主节点(master),后者称为从节点(Slave),数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能由一个主节点。

GaLiCHaoFan1的博客 436

模型泛化能力提升:领域自适应与迁移学习

模型泛化能力提升:领域自适应与迁移学习​ ,人工智能,计算机视觉,大模型,AI,在机器学习和深度学习的应用中,模型的泛化能力是一个关键问题。泛化能力指的是模型在新的、未见过的数据上表现良好的能力。然而,实际情况中,训练数据和测试数据往往来自不同的领域,存在分布差异,这会导致模型的泛化能力下降。领域自适应与迁移学习正是为了解决这一问题而发展起来的重要技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

贪婪投影三角化算法

贪婪投影三角化算法是一种利用点云数据进行曲面重建的方法。其基本思想是通过迭代地连接点云中的邻近点来生成三角形,从而构建出整个表面。这种方法被称为“贪婪”,因为它在每一步仅考虑当前最优的策略,而不考虑全局的最优性。

twnkie的博客 1567

Redis高可用——主从复制、哨兵模式、集群

在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。在Redis中,实现高可用的技术主要包括持久化、主从复制、哨兵和cluster集群,下面分别说明它们的作用,以及解决了什么样的问题。持久化: 持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份

橘子的博客 924

AutoSAR系列讲解(深入篇)13.6-闪烁一颗LED灯 6

闪烁一颗LED灯:配置SWC和生成代码

雪云飞星的博客 1万+

Redis数据库:高可用(主从复制、哨兵模式、cluster集群)

本文主要介绍Redis高可用集群,包括主从复制、哨兵模式、cluster集群,详细介绍其概念和搭建过程,希望对你有帮助!

十七拾的博客 2128

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Redis高可用方案:主从复制、哨兵与集群

集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。

qq_26422089的博客 1147

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

redis 高可用之 --- 主从复制、哨兵、集群

文章目录一、Redis 主从复制1. 主从复制的概述2. 主从复制的作用3. 主从复制的流程4. 搭建Redis主从复制4.1 服务器IP配置4.2 各服务器防火墙环境4.3 各服务器安装Redis4.4 修改Redis配置文件(Master节点操作)4.5 修改Redis配置文件(Slave节点操作)4.6 验证主从效果4.6.1 在Master节点上看日志4.6.2 在Master节点验证从节点二、Redis 哨兵模式1. 哨兵模式的核心功能2. 哨兵模式的原理3. 哨兵模式的作用4. 哨兵模式的结构5

shenyuanhaojie的博客 4万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

DAY 72 redis高可用的主从复制、哨兵、cluster集群

在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。

weixin_57560240的博客 1125

Redis 高可用架构全解析:主从复制、哨兵与集群模式

Redis 作为高性能的键值数据库,广泛应用于缓存、会话存储、消息队列等场景。随着业务规模的扩大,单机 Redis 在性能、可用性和数据安全性方面逐渐成为瓶颈。为此,Redis 提供了多种集群化方案来实现高可用与分布式存储。主从复制哨兵模式和集群模式,深入解析其原理、优缺点及搭建方法,帮助开发者根据实际业务需求选择合适的架构。主从复制:实现数据的多机备份和读写分离,是高可用的基础。哨兵模式:在主从复制基础上引入自动故障转移,提高系统的可用性。集群模式。

Z18252142908的博客 1198

Redis高可用(主从复制,哨兵模式,集群搭建)

Redis高可用 文章目录Redis高可用Redis主从复制主从复制的作用:主从复制流程:Redis主从复制的搭建修改Master节点Redis配置文件修改Slave节点Redis配置文件验证主从效果在master节点上验证Redis哨兵模式哨兵模式的作用:故障转移机制:主节点的选举:哨兵模式的搭建修改 Redis 配置文件(所有节点操作)启动哨兵模式查看哨兵模式信息故障模拟验证结果Redis集群模式redis群集的概念集群的作用(1)数据分区(2)高可用Redis集群的数据分片:搭建Redis群集模式创建

weixin_44938203的博客 862

Redis 高可用【主从复制 哨兵 集群】

主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。 哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制;哨兵无法对从节点进行自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用,需要对从节点做额外的监控、切换操作。 集群:通过集群,Redis实现了写操作负载均

低温热源的博客 356

Redis高可用:主从复制、哨兵集群、Cluster 切片集群

前言:Redis高可用:主从复制、哨兵集群、Cluster 分片集群。 一、主从同步 Redis 的同步方式有:主从同步、从从同步(由于全部都由 master 同步的话,会损耗性能,所以部分的 slave 会通过 slave 之间进行同步)。 同步过程: 建立连接,然后从库告诉主库:“我要同步啦,你给我准备好”,然后主库跟从库说:“收到”。 从库拿到数据后,要把数据保存到库里。这个时候就会在本地完成数据的加载,会用到 RDB 。 主库把新来的数据 AOF 同步给从库。

何哥的博客 1935

Redis高可用之主从复制、哨兵和集群

在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。......

weixin_51099370的博客 367

【Java面试题】Redis中篇(高可用:主从复制、哨兵、集群)

Redis中篇(高可用:主从复制、哨兵、集群)

踢桃的成长之路 1689

Redis的高可用(主从复制、哨兵模式、集群)的概述及部署

哨兵的启动依赖于主从模式,所以须把主从模式安装好的情况下再去做哨兵模式,所有节点上都需要部署哨兵模式,哨兵模式会监控所有的 Redis 工作节点是否正常,当 Master 出现问题的时候,因为其他节点与主节点失去联系,因此会投票,投票过半就认为这个 Master 的确出现问题,然后会通知哨兵间,然后从 Slaves 中选取一个作为新的 Master。当主节点不能正常工作时,哨兵会自动开始故障转移操作,它会将失效主节点的其中一个节点升级为新的主节点,并让其他从节点成为新的主节点。

rmh0713的博客 1639
上一篇: NoSQL之Redis配置与优化
下一篇: rsync远程同步
lin琳.
博客等级 码龄6年 222粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值