云小课|云小课教您如何选择Redis实例类型

news2024/11/27 0:45:15

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。

摘要:购买Redis实例时,实例类型有单机、主备、Proxy集群、Cluster集群和读写分离这么多种,该怎么选?别担心,本篇云小课把每个Redis实例类型的特点优势给您一一道来。

本文分享自华为云社区《【云小课】应用平台第40课 云小课教您如何选择Redis实例类型》,作者: 阅识风云。

购买Redis实例时,实例类型有单机、主备、Proxy集群、Cluster集群和读写分离这么多种,该怎么选?别担心,小课把每个实例类型的特点优势给您一一道来。

Redis单机实例

单机实例只有1个节点,1个Redis进程,当Redis进程故障后,DCS为实例重新拉起一个新的Redis进程,秒级恢复业务。

单机实例支持读写高并发,但不做持久化,实例重启时不保存原有数据。

单机实例拓扑图:

单机实例具有以下特点:

  • 系统资源消耗低,支持高QPS
    单机实例不涉及数据同步、数据持久化所需消耗的系统开销,因此能够支撑更高的并发。Redis单机实例QPS达到10万以上。
    单机实例支持多数据库(多DB,256个DB),用于数据隔离。
  • 进程监控,故障后自动恢复
    DCS部署了业务高可用探测,单机实例故障后,30秒内会重启一个新的进程,恢复业务。
  • 即开即用,数据不做持久化
    单机实例开启后不涉及数据加载,即开即用。如果服务QPS较高,可以考虑进行数据预热,避免给后端数据库产生较大的并发冲击。
  • 低成本,适用于开发测试

单机实例各种规格的成本相对主备减少40%以上。适用于开发、测试环境搭建。

Redis主备实例

Redis的主备实例在单机实例基础上,增强了服务高可用以及数据高可靠性。

主备实例分片数为1,包含一个主节点,一个或多个备节点。DCS实时探测实例可用性,使用哨兵模式(Sentinel)进行管理,监控主备节点是否正常运行,当主节点出现故障时,会进行主备倒换,恢复业务。

主备实例拓扑图:

主备实例具有以下特点:

  • 持久化,确保数据高可靠
    主备实例默认为双副本(一主一备),支持设置为多副本(一主多备),支持多DB,默认开启数据持久化功能,可保持节点间数据同步。
  • 数据同步
    主备节点通过增量数据同步的方式保持缓存数据一致。
    当网络发生异常或有节点故障时,主备实例会在故障恢复后进行一次全量同步,保持数据一致性。
  • 故障后自动切换主节点,服务高可用
    当主节点故障后,连接会有秒级中断、不可用,备节点在30秒内自动完成主备切换,切换完成后恢复正常访问,无需用户操作,保证业务平稳运行。
  • 多种容灾策略
    DCS支持将主备实例部署在不同的AZ(可用区)内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。
  • 读写分离

Redis 4.0、Redis 5.0和Redis 6.0基础版主备实例,分别提供了可读写的连接地址(主节点)和只读地址(备节点),在客户端连接时,通过增加用户读写请求判断,将写请求发送给读写域名,读请求发送给只读域名,可实现客户端读写分离。

Redis Cluster集群实例

Cluster集群通过分片化分区来增加缓存的容量和并发连接数,每个Shard分片默认是一个双副本的Redis主备实例,分片本身对外不可见。分片中主节点故障后,同一分片中备节点会升级为主节点来继续提供服务。

Cluster集群实例拓扑图:

Cluster集群实例特点:

  • 支持选择不同实例规格(对应不同的Shard分片数),在创建实例时,支持自定义分片大小,暂时不支持自定义分片数,默认每个分片为双副本架构,副本数可自定义。
  • Cluster集群实例,通过使用cluster nodes查询所有主备节点,客户端连接备节点,并在节点上做配置,开启备节点只读访问,可实现客户端读写分离,提升缓存的整体读写能力。配置方法请参考Redis实例是否支持读写分离。
  • Cluster集群实例默认DB数为1,不支持开启多DB。

Redis Proxy集群实例

Proxy集群在Cluster集群的基础上,增加挂载Proxy节点和Elastic Load Balance (ELB)节点,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点(Redis集群代理服务器),实现Redis集群内部的高可用,以及承接客户端的高并发请求。

Proxy集群实例拓扑图:

Proxy集群实例特点:

  • 支持选择不同实例规格(对应不同的Proxy节点数和Shard分片数),在创建实例时,支持自定义分片大小,暂时不支持自定义分片数和副本数,默认每个分片为双副本架构。
  • Proxy集群实例默认默认只有一个DB,支持开启多DB,开启多DB前需要了解Proxy集群使用多DB限制。
  • Proxy集群实例不支持读写分离。

Redis读写分离实例

读写分离实例,后端是一个主备实例,默认包含主备两个节点(双副本),支持设置为多副本,即多个备节点。

读写分离实例,在主备实例的基础上,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,Proxy节点识别用户读写请求,如果是写请求,转发给主节点;如果是读请求,则转发给备节点,从服务端侧实现读写分离。

读写分离实例拓扑图:

读写分离实例特点:

读写分离实例除具有主备实例数据持久化,主备节点数据同步等基本特点以外,还支持服务端读写分离,不需要用户在客户端做任何配置。

实例类型对比与总结

小课还贴心的为您将每种实例类型做了以下对比分析,方便您根据自己业务的特点和需求做出选择。

实例类型对比:

实例类型总结:

  • 单机实例不支持数据持久化,主要服务于数据不需要由缓存实例做持久化的业务场景。
  • 在综合性能上,多分片强于单分片,多副本强于单副本。
  • 在负载均衡方面,Proxy集群和读写分离实例支持负载均衡,实例具有高可用性的同时,只需使用1个IP,无需多个IP分别访问每个节点。
  • Redis单机、主备和读写分离实例默认支持多DB(256个DB),多DB主要用于数据隔离。
  • 读写分离主要适用于读高并发、写请求较少的业务场景,解决高并发的性能问题,节约运维成本。
  • 读写分离实例为服务端读写分离,无需用户做任何代码配置,相较与客户端读写分离,使用更方便。

如果您还需要了解实例的内存和QPS等规格请戳这里。

点击关注,第一时间了解华为云新鲜技术~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48050.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vmware安装openEuler20.03

一,直接看图。 点击创建虚拟机。 这里如果是21.03版本的话,版本需要选择Linux5.x内核64位。 20.03选择Linux4.x的内核。 2个或者4个都行。 内存不要小于4G。 官方推荐不要小于32G。 直接下一步即可。 然后等待,进入配置。 安…

数据结构学习:Trie树

Trie一、概念二、代码实现三、Tire树的时间复杂度和空间复杂度四、Tire树的优势一、概念 Trie树,也叫"字典树",顾名思义,是一种专门处理字符串匹配的树形结构,用来解决在一组字符串集合中快速找到某个字符串类似于这种字符串匹配问题,可以使用RF暴力匹配、RK哈希匹配…

RabbitMQ 快速入门七种简单模式

RabbitMQ 快速入门七种简单模式起步七种模式项目依赖1、"Hello World!"(1) Connection 方式(2) RabbitTemplate 方式2、Work Queues生产者消费者3、Publish/Subscribe关系绑定生产者消费者4、Routing消费者生产者5. Topics消费者生产者6、RPC7、Publisher Confirms起…

面试又卡在多线程?那就来分享几道 Java 多线程高频面试题,面试不用愁

多线程中的忙循环是什么?忙循环就是程序员用循环让一个线程等待,不像传统方法 wait()、 sleep() 或 yield(),它们都放弃了 CPU 控制,而忙循环不会放弃 CPU,它就是在运行一个空循环。 这么做的目的是为了保留 CPU 缓存&#xff0c…

用于大规模 MIMO 检测的近似消息传递 (AMP)(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【二开】mattermos扩展第三方登录

目录 前景提要明确目标开始动手部署开发环境找到项目入口梳理登录流程修改请求地址前景提要 公司准备使用mattermost,项目进行任务管理,我们需要让已有系统能够对接该系统的登录。 明确目标 前端webApp项目独立部署使用第三方Token可以通过使用第三方Token登录mattermost平…

因子模型:套利定价理论APT

本文是Quantitative Methods and Analysis: Pairs Trading此书的读书笔记。 因子模型(factor models)用来解释资产的风险或者回报的特点。在CAPM模型中,资产的回报几乎就是由市场决定的,每个资产对市场的敏感程度可以用beta来描述。因而,在C…

RabbitMQ系列【18】对象序列化机制

有道无术,术尚可求,有术无道,止于术。 文章目录前言发送对象接收对象使用Jackson 序列化前言 使用RabbitMQ原生API,发送消息时,发送的是二进制byte[]数据。 void basicPublish(String var1, String var2, byte[] var4…

1.2 监督学习

1.2 监督学习监督学习的定义监督学习的相关概念监督学习流程图监督学习的定义 监督学习(Supervised Learning)是指从标注数据中学习预测模型的机器学习问题,其本质是学习输入到输出的映射的统计规律。 输入空间 (Input Space):输…

11.29总结

目录 一.连续子数组最大和 方法2动态规划 二.查找最小的k对数字 一.从先序遍历还原二叉树 二.完全二叉树 三.判断对称二叉树 四 回文 五.连续子数组最大和 六.TopK问题 思路一如果数据特别大.排序的时间复杂度会很大 思路二:用大根堆或者小根堆然后分别弹出. 思路三…

CANoe-vTESTstudio之State Diagram编辑器(功能介绍)

1. 阶段 State Diagram从测试设计到测试执行,分为4个阶段: Test Design 在测试设计期间,测试设计人员使用图形元素和分配的测试代码来对要测试的SUT的状态和转换进行建模。这个阶段的结果是生成状态图 Evaluation 在评估期间,将验证各个元素及其关系并创建路径。评估产…

SpringBoot中如何实现业务校验,这种方式才叫优雅!

大家好,在日常的接口开发中,为了保证接口的稳定安全,我们一般需要在接口逻辑中处理两种校验: 参数校验 业务规则校验 首先我们先看看参数校验。 参数校验 参数校验很好理解,比如登录的时候需要校验用户名密码是否为…

Opencv边缘检测、轮廓发现、绘制轮廓

Opencv边缘检测、轮廓发现、绘制轮廓 提取图像轮廓的2个步骤 1、 findContours函数找轮廓, 2、 drawContours函数画轮廓 轮廓的查找——cv::findContours() 函数cv::findContour是从二值图像中来计算轮廓的,它可以使用cv::Canny()函数处理的图像&am…

【华为上机真题 2022】字符串分隔

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

Java---线程详解(并发并行,Thread类,Runnable接口,同步机制,线程死锁......)

目录 一、概念 1、进程 2、线程 (1)单线程 (2)多线程 (3)并发 (4)并行 二、线程基本使用 1、创建线程的两种方式 (1)继承Thread类 (2&am…

esp8266用arduino连上阿里云(图文操作,100%成功)

最近学习了esp8266/esp32单片机。第一次使用arduino这个IDE,搞多了Keil5,这个实在是有点不习惯。进步都是困难的,现在回想起来,发现也没多难,回到正题。 准备软件;Arduino IDE 准备硬件:esp82…

面试:插件化相关---activity

我们先来看下Android常规Activity的启动流程 如何评价360的Android插件化框架RePlugin? - 知乎 1、调用Context.startActivity -> ActivityManagerProxy -> AMS, AMS通过Intent从PMS拿到ActivityInfo并创建ActivityRecord和token放入前台ActivityStack&…

macOS端React的项目WebPack热更新(HMR)失效问题分析及解决,原因竟是Windows文件系统不区分大小写导致

项目场景: 最近做的项目是一个使用UmiJS搭建的React的前端老项目,项目是上一个开发团队遗留下来的老项目,我们接着在原来的基础上开发。团队成员中有的是Windows电脑,有的是Mac电脑,所以存在规范不统一的情况。 问题描…

[附源码]计算机毕业设计springboot基于web的建设科技项目申报管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

微服务框架 SpringCloud微服务架构 5 Nacos 5.6 环境隔离

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构5 Nacos5.6 环境隔离5.6.1 环境隔离 - namespace5.6.2 使用 namespace5.6.…