关于使用Azure Redis服务在以下九大方面的功能性的解说:

  1. 高可用
  2. 备份可靠性
  3. 配置自动化
  4. 部署多样性
  5. 快速回档功能
  6. 数据扩容
  7. SLA稳定性
  8. 数据安全性
  9. 监控系统

一:高可用

Azure Cache for Redis 具有内置的高可用性。 其高可用性体系结构的目标是确保托管的 Redis 实例正常运行,即使其基础虚拟机 (VM) 受计划内或计划外中断的影响。 它提供的可用性百分比率要远高于将 Redis 承载在单个 VM 上的情况。使用多个称为“节点”的用于缓存的 VM 来实现高可用性。 它将这些节点配置为以协调的方式进行数据复制和故障转移。 它还会协调维护操作,例如 Redis 升级维护等。

默认情况下,在“标准”或“高级”层级中,Azure Cache for Redis 在一对 Redis 服务器上运行。 这两个服务器托管在专用 VM 上。 开源 Redis 只允许一台服务器处理数据写入请求。 此服务器是主要节点,而另一服务器是副本。 预配服务器节点后,Azure Cache for Redis 可向其分配主要角色和副本角色。 主要节点通常负责为来自 Redis 客户端的写入和读取请求提供服务。

更多详细说明,请见:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-high-availability

通常,Redis 客户端会与 Redis 缓存中的主节点通信,以获取所有读取和写入请求。 某些 Redis 客户端可以配置为从副本节点进行读取。

二:备份可靠性

Redis 暂留可让你保留存储在 Redis 中的数据。 还可以获取快照并备份数据,以便在出现硬件故障时进行加载。保存数据时,Azure 存储会自动加密数据。 支持自动备份和手动备份,备份存放在共享存储上,不占用本地磁盘空间;可以参考 https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-persistence

Azure Redis 缓存使用以下模型提供 Redis 暂留:

  • RDB 暂留 - 配置 RDB(Redis 数据库)暂留以后,Azure Redis 缓存按照可配置的备份频率,将 Azure Redis 缓存的快照以 Redis 二进制格式暂留在磁盘上。 如果发生了灾难性事件,导致主缓存和副缓存都无法使用,则会使用最新快照重新构造缓存。 详细了解 RDB 暂留的优点缺点
  • AOF 暂留 - 配置 AOF(仅追加文件)暂留后,Azure Redis 缓存将每个写入操作保存到日志,此日志每秒至少保存到 Microsoft Azure 存储帐户一次。 如果发生了灾难性事件,导致主缓存和副缓存都无法使用,则会使用存储的写入操作重新构造缓存。 详细了解 AOF 暂留的优点缺点

三:配置自动化

可使用PowerShell脚本一键式创建数据库实例:

#创建名为 myCache 的 Azure Redis
New-AzRedisCache -ResourceGroupName myGroup -Name mycache -Location "China North"

Set-AzRedisCache命令可用于更新属性,例如 SizeSkuEnableNonSslPort 和 RedisConfiguration 值。

#更新名为 myCache 的 Azure Redis 缓存的 maxmemory-policy
Set-AzRedisCache -ResourceGroupName "myGroup" -Name "myCache" -RedisConfiguration @{"maxmemory-policy" = "allkeys-random"}

可自定义数据库多种配置参数,但需要自己编写相应代码和脚本,参考文档:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-manage-redis-cache-powershell

四:部署多样性

Azure Redis提供不同的级别:

  • 基本:基本缓存是单个缓存节点,适用于开发/测试和非关键型工作负荷。
  • 标准:基于主/从复制的生产级别缓存服务。
  • 高级:适合企业的级别,可用作缓存和暂留数据。专为最大规模和企业集成而设计。

标准版支持主从,高级版支持主从/集群方式部署。参考文档:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-clustering

什么是 Redis 群集?

Azure Redis 缓存提供的 Redis 群集与 在 Redis 中实施的一样。 Redis 群集具有以下优势:

    • 能够在多个节点中自动拆分数据集。
    • 能够在部分节点遇到故障或无法与群集其余部分通信的情况下继续运行。
    • 更大的吞吐量:增加分片数时,吞吐量呈线性增加。
    • 更大的内存大小:增加分片数时,内存大小呈线性增加。

五:快速回档功能

启用Redis数据暂留后,支持自动备份和数据恢复。Redis可以自动获取快照并备份数据,以便在出现硬件故障时进行加载。

导入/导出是一种 Azure Redis 缓存数据管理操作,可用于通过从高级缓存导入 Azure Redis 缓存数据库 (RDB) 快照以及将 Azure Redis 缓存数据库 (RDB) 快照导出到 Azure 存储帐户中的 blob 来相应地将数据导入到 Azure Redis 缓存以及从 Azure Redis 缓存导出数据。

  • 导出 - 可以将 Azure Redis 缓存 RDB 快照导出到页 Blob。
  • 导入 - 可以从页 Blob 或块 Blob 导入 Azure Redis 缓存 RDB 快照。

通过导入/导出可在不同的 Azure Redis 缓存实例之间进行迁移,或者在使用之前使用数据填充缓存。参考文档:

如何为高级 Azure Redis 缓存配置数据暂留https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-persistence
在 Azure Redis 缓存中导入和导出数据https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-import-export-data

六:数据扩容

Azure Redis 缓存具有不同的缓存产品/服务,使缓存大小和功能的选择更加灵活。 如果创建缓存后,应用程序的要求发生更改,可以更改缓存的大小和定价层。支持按需扩容,包括但不限于数据容量、可读实例和副本数量;支持无缝扩容,可不中断服务,对上层业务透明。

可以扩展到不同定价层,但有以下限制:

  • 不能从较高的定价层缩放到较低的定价层。

    • 不能从高级缓存向下缩放到标准或基本缓存。
    • 不能从标准缓存向下缩放到基本缓存。
  • 可从基本缓存缩放到标准缓存,但不能同时更改大小。 如果需要不同大小,则可以执行后续缩放操作以缩放为所需大小。
  • 不能从基本缓存直接缩放到高级缓存。 首先在一个缩放操作中从基本缩放到标准,然后在后续的缩放操作中从标准缩放到高级。
  • 不能从较大的大小减小为 C0 (250 MB) 。

在缩放过程中,缓存是否可用?

  • 标准和高级缓存在缩放操作期间保持可用。 但是,缩放标准和高级缓存时,以及从基本缓存缩放到标准缓存时,可能会发生连接故障。 这些连接故障预期为很小的故障,redis 客户端应能立即重新建立连接。
  • 基本缓存在缩放为不同大小的操作期间处于脱机状态。 基本缓存在从基本缩放到标准时仍然可用,但可能会出现较小的连接故障。 如果发生连接故障,redis 客户端应能立即重新建立连接。

详细操作请见:如何缩放 Azure Redis 缓存

七:SLA稳定性

支持主从和集群架构,自动进行容灾切换和故障迁移;可用性保障不低于99.9% --基础版没有SLA保证,其他版本都不低于99.9%

AZURE CACHE FOR REDIS 的高可用性
选项 说明 可用性 标准 高级 Enterprise
标准复制 单个数据中心或可用性区域 (AZ) 中具有自动故障转移功能的双节点复制配置 99.9%

-

Enterprise 群集 链接了两个区域中的缓存实例,提供自动故障转移 99.9% - -
异地复制 两个区域中的链接缓存实例,具有用户控制的故障转移 99.9%(对于单个区域) -

-

Azure Cache for Redis 的高可用性: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-high-availability

八:数据安全性

Azure底层有相关的安全防护确保数据的存储安全,而在传输方面,默认使用SSL访问(6380)使用TLS1.2加密套件保证在数据传输中的安全。同时也可以隔离Redis,通过专用链接或VNET来实现网络隔离:Azure 专用链接和虚拟网络 (VNET) 部署为 Azure Cache for Redis 提供增强的安全性和流量隔离。 使用 VNET,可以进一步通过网络访问控制策略来限制访问。

Azure 专用链接的 Azure Cache for Redishttps://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-private-link

为高级 Azure Cache for Redis 配置虚拟网络支持https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-premium-vnet

九:监控系统

支持对Redis实例信息的可视化监控(监控内容包括但不限于CPU利用率、连接数、Memory等),可以根据指标配置相应的警报:

 如何监视用于 Redis 的 Azure 缓存: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-monitor

用于 Redis 的 Azure 缓存使用 Azure Monitor 提供用于监视缓存实例的几个选项。 可以查看度量值、将度量值图表固定到启动板、自定义监视图表的日期和时间范围、在图表中添加和删除度量值,以及设置符合特定条件时发出的警报。 借助这些工具,可以监视 Azure Redis 缓存实例的运行状况,以及管理缓存应用程序。

每分钟使用 Redis INFO 命令收集约两次用于 Redis 的 Azure 缓存实例的指标,然后将其自动存储 30 天(请参阅导出缓存指标以配置不同保留期策略),以便这些指标可以显示在指标图表中并由预警规则进行评估。 有关用于每个缓存度量值的不同 INFO 值的详细信息,请参阅 可用度量值和报告间隔

【Azure Redis 缓存】Azure Redis功能性讨论的更多相关文章

  1. 【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)

    问题描述 Azure Redis和所有的Redis服务一样,可以让你保留存储在Redis中的数据.以防万一在Redis服务器出现故障的时候能尽可能小的减少数据的损失.在Azure Redis服务中,默 ...

  2. 【Azure Redis 缓存 Azure Cache For Redis】Redis性能问题,发现Server Load非常的高,导致正常连接/操作不成功

    问题描述 在正常使用Azure Redis的服务中,突然发现Redis 的CPU达到了100%, 正常的使用中发现性能问题严重.从Redis的门户图表中,观察到CPU, Connection,Lent ...

  3. 【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果

    当使用Azure Redis高级版时候,为了能更好的保护Redis的安全,启用了虚拟网路,把Redis集成在Azure中的虚拟网络,只能通过虚拟网络VENT中的资源进行访问,而公网是不可以访问的.但是 ...

  4. 【Azure Redis 缓存 Azure Cache For Redis】Redis出现 java.net.SocketTimeoutException: Read timed out 异常

    问题描述 在使用Azure Redis时,遇见Read Timed out异常, Redis的客户端使用的时jedis.问题发生时,执行redis部分指令出错,大部分get指令,set指令能正常执行. ...

  5. 【Azure Redis 缓存 Azure Cache For Redis】当使用Jedis客户端连接Redis时候,遇见JedisConnectionException: Could not get a resource from the pool / Redis connection lost

    问题情形 当在执行Redis一直指令时,有可能会遇见如下几种错误: 1) redis.clients.jedis.exceptions.JedisConnectionException: Could ...

  6. Azure Redis 缓存使用注意事项与排查问题文档整理

    StackExchange.Redis 使用名为 synctimeout 的配置设置进行同步操作,该设置的默认值为 1000 毫秒. 如果同步调用未在规定时间内完成,StackExchange.Red ...

  7. [转]在nodejs使用Redis缓存和查询数据及Session持久化(Express)

    本文转自:https://blog.csdn.net/wellway/article/details/76176760 在之前的这篇文章 在ExpressJS(NodeJS)中设置二级域名跨域共享Co ...

  8. SpringBoot学习笔记:Redis缓存

    SpringBoot学习笔记:Redis缓存 关于Redis Redis是一个使用ANSI C语言编写的免费开源.支持网络.可基于内存亦可以持久化的日志型.键值数据库.其支持多种存储类型,包括Stri ...

  9. Windows Azure Redis 缓存服务

    8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...

  10. Azure Redis 缓存的 ASP.NET 会话状态提供程序

    Azure Redis Cache 提供了一个会话状态提供程序,你可以使用其在缓存中(而不是内存中或在 SQL Server 数据库中)存储会话状态.要使用缓存会话状态提供程序,先首先配置缓存,然后使 ...

随机推荐

  1. I.MX6 android 移除shutdown功能

    /************************************************************************ * I.MX6 android 移除shutdown ...

  2. ng-if与ng-show、ng-hide指令的区别和注意事项

    http://blog.csdn.net/aitangyong/article/details/44701769

  3. iOS项目之模拟请求数据

    如何在iOS开发中更好的做假数据? 当工期比较紧的时候,项目开发中会经常出现移动端等待后端接口数据的情形,不但耽误项目进度,更让人有种无奈的绝望.所以在开发中,我们常常自己做些假数据,以方便开发和UI ...

  4. oracle超出打开游标的最大数的原因和解决方案

    oracle超出打开游标的最大数的原因和解决方案 分类: Oracle相关2012-06-05 10:36 6362人阅读 评论(0) 收藏 举报 oracle数据库sqljavasessionsys ...

  5. 自己动手,打造轻量级VSCode/C#环境代替LinqPad

    .Net 的项目都挺重的,一直想找一个轻量级的 CSharp 环境,能像Python那样,选一个文件就能跑的.之前用的是 LinqPad,但它的缺点也很明显: (1)     不付费,自动完成不能用( ...

  6. 使用AD画PCB的技能总结(纯属个人笔记,请大神多多指导)

    在参加2017全国电子设计大赛的过程中,我将平时学到的点点滴滴记录下来,作为曾经的回忆吧!(未完待续) ------------------------------------------------ ...

  7. 2018-2019-2 网络对抗技术 20165303 Exp4 恶意代码分析

    实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systr ...

  8. PXE自动装机

    PXE自动装机 一.搭建PXE远程安装服务器 PXE自动装机需要桌面模式 假如不是桌面模式安装的PXE需要安装桌面模式软件包 yum groupinstall "Desktop" ...

  9. [转] Ubuntu16.04完美安装Sublime text3

    转载自:https://www.cnblogs.com/hupeng1234/p/6957623.html 1.安装方法 1)使用ppa安装 sudo add-apt-repository ppa:w ...

  10. 父页面操作嵌套iframe子页面的HTML标签元素

    一个页面A.html使用iframe嵌套一个页面B.html,在A页面写js操作B页面HTML元素,首先要获取到B页面document对象,才能对嵌套页面进行操作 请看一个实例,在A页面写js操作B页 ...