redis的三种部署方式-redis有几种部署方式(5-9-58)

更新时间:2024-11-15 分类:Redis 浏览量:2

Redis本文目录一览:

  • 1、两地三中心redis部署是什么模式
  • 2、redis主从架构高可用如何实现
  • 3、Redis-Cluster
  • 4、玩转Redis的高可用(主从、哨兵、集群)
  • 5、「实用教程」在配备持久内存的实例上部署Redis应用
  • 6、使用docker部署多个本地redis

两地三中心redis部署是什么模式

redis的集群模式为了解决系统的横向扩展以及海量数据的存储问题,如果你的数据量很大,那么就可以用redis cluster。

在实际开发中不会仅仅部署一个 Redis 服务器,为了获得高可用,Redis 哨兵模式 则是高可用的一种选择。本文先介绍下 哨兵模式,再介绍了如何在 springboot 项目中使用。

多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。

Redis支持多种数据结构和存储模式,其中包括:字符串(String):字符串类型是Redis最基本的数据类型,它可以包含任何数据,比如文本、整数或二进制数据等。

哨兵模式是在主备模式的基础上,加上哨兵,实现redis集群的故障转移。哨兵负责监控集群状态,当redis主节点发生故障,哨兵通过选举,选出替代的master节点。一般需要单数的哨兵进行选举,大多数达成一致。

redis主从架构高可用如何实现

redis高可用:如果你做主从架构部署,其实就是加上哨兵就可以了,就可以实现,任何一个实例宕机,自动会进行主备切换。

新版本Redis使用psync命令来代替sync命令,该命令既可以实现完整全同步也可以实现部分同步。

以下是一个简单的步骤: 创建一个 ConfigMap,其中包含 Redis 配置文件。 创建一个 StatefulSet,其中包含 3 个副本的 Redis Pod。 创建一个 PersistentVolumeClaim,用于存储 Redis 数据。

Sentinel : redis 自带的主从切换工具,我们通过 sentinel 实现集群高可用。客户端( Smart Client ):客户端通过约定查找 redis 实例在 ZooKeeper 中写入的地址。

Redis 高可用的主要有三种模式: 主从模式, 哨兵模式和集群模式。 Redis 提供了 Redis 提供了复制(replication)功能,当一台 redis 数据库中的数据发生了变化,这个变化会被自动地同步到其他的 redis 机器上去。

服务层到缓存:缓存的存在,本身就是一种冗余;缓存层也可以通过集群来解决缓存层的高可用问题。以Redis为例,支持主从同步,而且有sentinel哨兵机制,来做Redis的存活性检测。

Redis-Cluster

redis-cluster把所有的物理节点映射到[0-16383]个 slot 上,基本上采用平均分配和连续分配的方式。

CLUSTER REPLICATE node_id 将当前节点设置为 node_id 指定的节点的从节点。CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。

在redis-cluster集群中,每一个主节点可以添加多个从节点,主节点和从节点遵循主从模式的特性。 当用户需要处理更多的读请求时,添加从节点可以扩展系统的读性能。

Redis集群把所有的数据映射到16384个槽中。每个key会映射为一个固定的槽,只有当节点分配了槽,才能响应和这些槽关联的键命令。通过cluster addslots命令为节点分配槽。

修改配置文件 在每个节点的配置文件里面增加密码选项,一定要加上 masterauth,不然 Redirected 的时候会失败。masterauth redispassword requirepass redispassword 修改后需要重启节点。

Redis通过对KEY计算hash,将KEY映射到slot,集群中每个节点负责一部分slot的方式管理数据,slot最大个数为16384。

玩转Redis的高可用(主从、哨兵、集群)

基于以上,Redis集群方案显得尤为重要。通常有3个途径:官方Redis Cluster;通过Proxy分片;客户端分片(Smart Client)。以上三种方案各有利弊。

主从复制可以提高Redis集群的可用性,当主节点出现故障时,从节点可以自动或者手动替代主节点的职责,从而保证Redis集群的高可用性。

哨兵集群,基于主从复制模式,所有的主从配置优点,它全有。主从可以切换,故障可以转移,系统的可用性就会更好。哨兵模式就是主从模式的升级,手动到自动,更加健壮。集群容量一旦到达上限,在线扩容十分麻烦。

主节点会定期将数据同步到从节点中,保证数据一致性的问题。这种集群方式在运行时存在一些问题:Redis的哨兵机制就是解决主从复制存在缺陷(选举问题),解决问题保证我们的Redis高可用,实现自动化故障发现与故障转移。

哨兵模式就是在主从模式的基础上再加一个哨兵集群。每个哨兵都会监控主节点和从节点的状态。如果主节点挂了,就会从从节点中选出一个来作为主节点,以达到高可用的目的。

原理:当主节点出现故障时,由Redis Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。

「实用教程」在配备持久内存的实例上部署Redis应用

1、说明 本步骤中涉及从GitHub(https://github.com/)相关地址下载资源时,请确保下载成功后再进行后续操作。如果下载失败,请重复执行相关命令直至下载成功。

2、如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。redis配置文件 daemonize no # 默认情况下,redis并不是以daemon形式来运行的。

3、推荐:redis视频教程)Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

4、AOF 是以appendonly方式进行数据的储存的,开启AOF模式后,所有存进redis内存的数据都会进入os cache中,然后默认1秒执行一次fsync写入追加到appendonly.aof文件中。

5、Redis数据都是缓存在计算机内存中并且它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。

使用docker部署多个本地redis

利用Docker 的swarm模式创建6个redis服务,在容器内可以相互ping通。利用容器名称创建redis集群里报 ERR Invalid node address specified: redis1:6379错误。解决方法 把容器名称改在IP地址即可解决。

准备redis镜像 Redis官方已经提供了Redis 2和3的镜像,都可以用来作为Redis集群的镜像,2是稳定版本。目前官方推出了alpine版本的Redis镜像,alpine镜像的优势是体积小。

不稳定。单个redis具有不稳定性。当redis服务死机了或者redis服务被kill掉了,就没有可用的redis服务了。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中。

与 Redis 安装方式类似,不过这里获取的是指定版本的 MySQL 。

指定为 镜像名称或镜像 ID 。如果镜像在本地不存在, Compose 将会尝试拉取这个镜像。为容器添加 Docker 元数据(metadata)信息。例如可以为容器添加辅助说明信息。配置日志选项。