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

摘要:购买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等规格请戳这里。

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

云小课|云小课教您如何选择Redis实例类型的更多相关文章

  1. 从阿里云迁移分布式redis实例到华为云解决方案(详细)

    如果要换多数是经济因素啦- 一. 准备工作 先在华为云上买一台redis数据库,配置一定要注意多数要保持一致,至于4.0还是5.0倒问题不大亲测兼容 可用区要找现有ECS云主机中的相同的机器.记下:这 ...

  2. Vue/小程序/小程序云+Node+Mongo开发微信授权、支付和分享

    大家好,我是河畔一角,今天给大家介绍我的第三门实战课程:基于微信开发的H5.小程序和小程序云的授权.支付和分享专项课程. 一.这一次为什么会选择微信支付和分享的课题呢? 金庸的小说中曾提到:有人的地方 ...

  3. 这款 IDE 插件再次升级,让「小程序云」的开发部署提速 8 倍

    今年3月份,在阿里云北京峰会上,阿里巴巴正式发布了“阿里巴巴小程序繁星计划”,截至当前,已经有成千上万的开发者加入这个计划,使得小程序得到蓬勃发展,然而不可避免的是,这些服务加重了对云端的开发部署.运 ...

  4. 小程序云函数调用http或https请求外部数据

    参考网址 https://blog.csdn.net/qiushi_1990/article/details/101220920 小程序云函数调用http或https请求外部数据 原创编程小石头 发布 ...

  5. 【阿里云产品评测】小站长眼中的巅峰云PK

    [阿里云产品评测]小站长眼中的巅峰云PK 阿里云论坛用户:昵称-a5lianmeng 笔者是一名小站长,因狂热互联网,而在毕业后由宅男逐渐进入站长队伍,在毕业后的几年间,经营6个流量类网站,身为站长, ...

  6. 小程序应用的Python服务器部署高配,依然是腾讯云秒杀阿里云!

    上一篇文章,“小程序创业最低配置部署,腾讯云折扣秒杀阿里云!”介绍了小程序项目启动时的最低配置服务器选择,但当项目良好发展时,还是要把服务器配置调整到标准水平,承受住日益增长的流量访问. 随着Pyth ...

  7. 阿里云小程序云应用环境DIY,延长3倍免费期

    阿里云清明节前刚刚推出了小程序云应用扶持计划一期活动 (活动链接见文章底部).假期研究了下以后,发觉不太给力.基本上就是给了2个月的免费测试环境,和平均2个月的基础版生产环境.而如果选用标准版生产环境 ...

  8. 【微信小程序云开发】从陌生到熟悉

    前言 微信小程序在9月10号正式上线了云开发的功能,弱化后端和运维概念,以前开发一个小程序需要申请一个小程序,准备一个https的域名,开发需要一个前端一个服务端,有了云开发只有申请一个小程序,一个前 ...

  9. 微信小程序云开发更换云开发环境

    小程序云开发环境初始化默认是第一个环境,但是我们可以指定环境id //app.js App({ onLaunch: function () { if (!wx.cloud) { console.err ...

  10. 腾讯云 Game-Tech 技术沙龙小游戏专场“空降”长沙

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯游戏云发表于云+社区专栏 小游戏作为今年快速成长的新生态,在开放进入市场之后持续成为行业热点,获得了游戏开发商的高度关注与参与.在 ...

随机推荐

  1. 聊聊计算机之Intel CPU的MESI协议

    1.on-chip概念 on-chip:每个CPU有好几个物理核,它们分布在CPU上,称为on-chip on-chip first cache:每个核内的一级缓存 on chip branch ta ...

  2. Linux使用密钥登录SSH

    输入命令和上传密钥时需要注意当前目录.账号和读写权限 生成密钥 使用服务器生成(方法一,推荐) 1.1生成密钥 #ssh-keygen(这里pwd为当前账号的home目录) 1.2下载密钥 .id_r ...

  3. aspnetcore6.0源代码编译调试

    虽然编译源码折腾了几个时间(卡在restore),最后还是跑起来了aspnetcore6.0mvc源码项目,下面说步骤,前提是网络能连外,对于不能连外的懒得折腾. 第一步 电脑找个地克隆下GitHub ...

  4. Elasticsearch:Elasticsearch-head - 用于浏览和与 Elasticsearch 集群进行交互的 Web 前端

    文章转载自:https://elasticstack.blog.csdn.net/article/details/114575256 离线安装方式:https://www.cnblogs.com/sa ...

  5. 组件化开发2-安装cocoaPods

    第一步:安装ruby 不能一上来就换ruby源.虽然mac自带了ruby,但是版本一般都偏低,如果不进行更新会导致版本依赖问题. 这里使用rvm来管理ruby,它允许共存多个ruby.RVM:Ruby ...

  6. AcWing 最短Hamilton距离 (状压DP)

    题目描述 给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径. Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰 ...

  7. 工厂方法在Spring源码中的运用

    我们都知道Spring中IOC是使用的工厂模式,但是对于实现细节就一知半解了,今天这篇文章就带大家解读Spring中是如何使用工厂模式的. 在上篇文章中我们懂了什么是工厂模式,这篇文章就带着学过的概念 ...

  8. Java学习之路:快捷键

    常用的快捷键 Ctrl+Shift:切换输入法 Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+X:剪切 Ctrl+A:全选 Ctrl+Z:撤销 Ctrl+Y:返回撤销 Ctrl+S:保存 Shif ...

  9. LeetCode------合并两个有序数组(4)【数组】

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/merge-sorted-array 1.题目 给你两个按 非递减顺序 排列的整数数组 nums ...

  10. 不妨试试更快更小更灵活Java开发框架Solon

    @ 目录 概述 定义 性能 架构 实战 Solon Web示例 Solon Mybatis-Plus示例 Solon WebSocket示例 Solon Remoting RPC示例 Solon Cl ...