redis 集群部署_Redis集群原理

redis 集群部署_Redis集群原理Redis6.2中的3种常用集群的运作原理和配置方法

Redis6.2集群部署

复制集群

&.主从模式 (读写分离)

主从模式原理
主从集群优点


(优点) 扩展性好 (可以动态为集群添加从机)
(优点) 读写分离 (主写从读,分摊了读写压力)
(优点) 数据容灾 (数据以多分存储在不同节点上)

主从集群缺点


(缺点) 复制延迟 (写操作均由主机完成,从机过多数据同步慢)
(缺点) 可用性差 (主机故障需手动选举新主机,此间写操作异常)

redis 集群部署_Redis集群原理

(1) 准备集群主机: 安装配置n台Redis服务器(n>=1),配置方式参考Redis6.2安装配置.

(2) 搭建主从集群: 从n台Redis主机中任选n-1台作为从机. 逐个连接从机,对从机进行主从关系配置(如下).

slaveof <master_ip> <master_port>   # 将当前Redis主机配置为指定Redis主机的从机.
info replication                    # 查看当前Redis主机的信息(role值从master改为slave即成功)

[多级从机] 除以上配置外,还可以为从机配置从机 (在从机的从机上通过slaveof <slave_ip> <slave_port>命令配置).
[切换主机] 在主机故障时,也可以手动将指定从机提升为集群的主机 (在指定从机上通过执行slaveof no one命令进行切换).

&.哨兵模式 (+高可用)

哨兵模式原理
主从集群优点


(优点) 扩展性好 (可以动态为集群添加从机)
(优点) 读写分离 (主写从读,分摊了读写压力)
(优点) 数据容灾 (数据以多分存储在不同节点上)
(优点) 可用性高 (主机故障时,哨兵主机会根据选举规则自动选举新主机来保证读写正常)

主从集群缺点


(缺点) 复制延迟 (写操作均由主机完成,从机过多数据同步慢)


    Redis哨兵模式中,哨兵主机会监控主从集群中的主机和所有从机,当主机故障时,哨兵主机会根据选举规则自动选举新主机. 当原主机故障重连后,则以从机身份重新接入集群.

redis 集群部署_Redis集群原理

(1) 配置主从集群: 安装配置n台Redis服务器,并建立出主从关系.

(2) 配置哨兵主机: 为Redis主从集群添加哨兵服务器(最少1台),用于对主从关系进行监控和自动切换.

# sentinel.conf文件中写入如下内容,其中1为至少有多少个哨兵同意迁移的数量
sentinel monitor <master_name> <master_ip> <master_port> 1

(3) 启动哨兵主机: 启动方式如下,启动后接口连接哨兵集群,连接入口为主机和从机 (同主从集群).

redis-sentinel /etc/redis/sentinel.conf    # 启动哨兵服务器

分片集群 (+负载均衡)

分片集群原理
集群运作原理


    Redis分片集群中,数据会根据slot分片存储到不同的复制集群中(每组复制集群存储总数据的1/n,n为复制集群数量).

分片集群说明


(优点) 易扩展 (无中心化,配置相对简单)
(优点) 高可用 (复制集群故障仅导致部分数据不可用)
(优点) 高负载 (读写分离、分片存储等特性实现负载均衡)
(缺点) 不支持lua脚本
(缺点) 不支持多键操作和多键的Redis事务

redis 集群部署_Redis集群原理

(1) 准备集群主机: 安装配置n台Redis主机(n>=3),在每台主机的redis.conf中都启用如下配置,然后启动.

# 启用集群模式
cluster-enabled yes
# 设置节点的配置文件名
cluster-config-file nodes-6379.conf
# 设置节点的超时时间 (毫秒),超时自动进行主从选举
cluster-node-timeout 15000
# 关闭集群全覆盖,开启时有一个slot的主从全故障则集群整体故障 (关闭时仅故障slot不可用)
cluster-require-full-coverage no

(2) 搭建分片集群: 从n台Redis主机中任选一台输入如下指令,引导工具会自动生成架构方案,选yes进行配置即可.

# 将集群中所有主机的ip和端口都通过该命令进行指定(本例中为n台),
# @<number> 集群中每个主节点对应几个从节点.
# @<ip:port> ip必须为Redis主机的真实ip,不能是本地回环地址.
redis-cli --cluster create --cluster-replicas <number> <ip:port> [<ip:port> ...]

(3) 集群连接测试: 连接集群中的任意一台主机(去中心化,任意主机都可作为集群连接入口).

cluster nodes      # 查看分片集群中所有节点的信息

原文地址:https://www.cnblogs.com/SwordITC/archive/2022/10/17/16794169.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4631.html

(0)
上一篇 2023-06-11 15:30
下一篇 2023-06-11 17:30

相关推荐

  • 提高随机性和再现性:Python random seed的重要性

    提高随机性和再现性:Python random seed的重要性Python在科学计算和数据分析领域非常流行。其中一项常见的技术是用随机数来模拟或采样数据。然而,对于大多数需要重复实验结果的应用程序而言,随机数生成应该是可预测的。这就需要使用random.seed()来设置随机数生成器的“种子”,这可以确保每次运行生成的随机序列是相同的,从而实现对结果的再现性。

    2024-03-02
    89
  • Python importlib模块详解

    Python importlib模块详解在Python中,我们经常会使用import语句来引入模块或者包,以便使用其中的函数和变量等。但是,当我们需要动态地加载模块或者包时,如何完成呢?这时候,importlib就可以派上用场了。

    2024-07-11
    42
  • mysql数据库和表的基础操作 – link「终于解决」

    mysql数据库和表的基础操作 – link「终于解决」MySQL数据模型 关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的 二维表 组成的数据库 关系型数据库的优点: 都是使用表结构,格式一致,易于维护。 使用通用的

    2023-06-19
    142
  • Python自定义函数的实现和应用

    Python自定义函数的实现和应用Python作为一种高级编程语言,其自带的函数库已经十分强大,可以满足很多开发者的需求。不过在实际的程序开发中,我们常常需要自定义一些函数以满足我们的具体需求。本文将从以下几个方面来介绍Python自定义函数的实现和应用:

    2024-03-06
    94
  • Python Extend:加强 Python 的功能与应用场景扩展

    Python Extend:加强 Python 的功能与应用场景扩展Python是一种至今为止最为流行的编程语言之一,其简洁易懂的语法和丰富的库支持,使得Python成为了许多领域的首选语言。但是,作为一种通用编程语言,Python并不是完美的,仍有许多应用场景需要Python进行扩展。因此,Python Extend应运而生,通过各种方法加强Python的功能和应用场景扩展。

    2024-02-19
    100
  • MySQL所有的安装部署方式「建议收藏」

    MySQL所有的安装部署方式「建议收藏」介绍MySQL所有的安装部署方式

    2023-03-06
    120
  • redis查询分页_redis集群三种方式

    redis查询分页_redis集群三种方式需求: 1.提供一个index.html页面,页面中有个省份,下拉列表2.当页面加载完成时,发送ajax请求。加载所有省份 前期项目初步搭建: index.html $(function(){ $.g

    2023-03-06
    165
  • Python引入模块的方法

    Python引入模块的方法Python是一种功能强大的编程语言,具有开放性和易于学习的特点。在Python中,模块是对代码的组织形式,这使得代码可以分解为可维护的组件。通过模块化,程序员可以更好地组织和重用现有的代码,从而保证代码的可维护性、可读性和可扩展性。在本文中,我们将介绍Python引入模块的方法,并探讨一些关键的概念和技术。

    2024-07-23
    39

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注