AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

微软发布 Azure Redis Cache 服务的跨地域复制功能

  • 2018-03-14
  • 本文字数:1388 字

    阅读完需:约 5 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

微软最近宣布 Azure Redis Cache 服务对跨地域复制(geo-replication)功能的支持发布正式版本(general availability) ,Azure Redis Cache 是开源Redis 缓存的微软托管实现。在2017 年6 月,微软曾经发布过它的公开预览版本

对跨地域复制的支持需要两个Azure Redis Cache 实例,一个作为主(primary)缓存,另外一个作为从(secondary)缓存。副本不一定必须要放到与主缓存不同的region 中,但是如果这样做的话,在主缓存不可用的时候,能够提供额外的弹性。在当前的实现中,副本只能放到一个region 中。对于应用来说从缓存是只读的,而写操作是由服务异步处理的。

跨地域复制是通过Azure Portal 中的主缓存和从缓存的链接来配置的:

图片来源: https://docs.microsoft.com/en-us/azure/redis-cache/cache-how-to-geo-replication#add-a-geo-replication-link

在配置跨地域复制之前,需要预先满足一些条件:

  • 缓存必须位于 Premium 层
  • 缓存必须在相同的 Azure subscription 中
  • 从缓存必须具备与主缓存相同的定价层级或者更高的定价层级
  • 如果主缓存是集群的,那么从缓存必须也是集群的,并且具有相同数量的分片(shard)
  • 缓存必须都处于运行状态
  • 缓存都不能启用 Redis 持久化

Azure Redis Cache 跨地域复制目前不支持主从缓存之间的自动化故障切换(failover)功能。这会引入一个手动的步骤,需要进行应用的配置变更,这意味着服务可能会有一些停机的时间。微软的首席项目经理 Ye Gu 在博客文章中对其进行了解释:

…两个 Azure Region 之间的物理距离会明显增加整体响应时间的延迟。因此,Azure Redis Cache 不会自动故障切换至另外一个 Region 中的跨地理副本缓存。

故障切换是通过取消主缓存中对从缓存的链接来实现的。取消链接之后,从缓存就会变成新的主缓存,并且能够接受写入请求。

该项服务面临来自其他云厂商的直接竞争,包括 Amazon、Heroku 和 Redis。

Amazon AWS ElastiCache 支持多 zone 的地理复制,这是通过 Multi-AZ 结合自动化故障处理功能实现的。与 Azure Redis Cache 类似,故障切换也不是即时的,在采取行动之前可能会耗费几分钟的时间,但它是自动进行的,并且会重新配置 DNS 设置,以便于减少应用的重新配置。

Heroku Redis支持高可用性,这是通过在备用的zone 中持有一个单独的副本来实现的。它以类似于AWS ElastiCache 的方式支持自动化故障切换,与AWS 相同,它的切换也不是即时的,但是它会确保主缓存不再有效,而不是短暂的不可用。在服务的更高层级,故障切换对使用它的应用是透明的。

类似于AWS ElastiCache, Redis Enterprise Cloud 方案支持多 region,但是它声明其故障切换的耗时是秒级的,而不是分钟级的,而且它以“serverless”的方式运行,这与其他主要厂商基于实例的方案有所不同。

Azure Redis Cache 只能在该服务的 Premium 层级使用。其成本依赖于 Premium 层的等级,现在的价格区间从 P1 层的大约 400 美元 / 月到 P4 层的 3200 美元 / 月。尽管服务本身是免费的,但是你需要相同层级的两个实例,或者更高层的从缓存实例。另外,根据微软的说法,如果从缓存位于不同的 region 中,在主缓存和从缓存实例之间进行同步时,服务还会产生额外的数据出口的费用。

查看英文原文 Microsoft Announce General Availability of Azure Redis Cache Geo-Replication

2018-03-14 19:002025

评论

发布
暂无评论
发现更多内容

第三周设计模式总结

leo

极客大学架构师训练营

架构师训练营 2 期 - 第 3 周命题作业

Geek_no_one

极客大学架构师训练营

第七周总结

睁眼看世界

极客大学架构师训练营

Fedora32安装MySQL8

ilovealt

MySQL Linux

Architecture Phase1 Week7:HomeWork

phylony-lu

极客大学架构师训练营

架构师训练营第七周作业

月殇

极客大学架构师训练营

异步并发分布式编程框架Akka

天天向上

极客大学架构师训练营

极客时间架构 1 期:第7周 性能优化(一) - 学习总结

Null

极客时间架构 1 期:第 7 周 性能优化(一) - 命题作业

Null

Newbe.ObjectVisitor 样例 1

newbe36524

C# dotnet

架构师训练营第三周作业-手写单例模式

张浩

架构师训练营week07总结

FG佳

训练营第七周作业 1

仲夏

极客大学架构师训练营

「架构师训练营第 1 期」第七周作业

张国荣

Newbe.ObjectVisitor 0.2.10 发布,更花里胡哨

newbe36524

C# dotnet

第七周命题作业

orchid9

架构师训练营 2 期 - 第三周总结

Geek_no_one

极客大学架构师训练营

架构师训练营—第七周学习总结

orchid9

架构师训练营第 1 期 week7

张建亮

极客大学架构师训练营

架构师训练营week07作业

FG佳

极客大学架构师训练营 week07

架构师训练营第三周总结

张浩

架构师训练营第七周总结

月殇

极客大学架构师训练营

你不好奇 CPU 是如何执行任务的吗?

小林coding

Linux cpu 操作系统 计算机基础

寻找性能更优秀的动态 Getter 和 Setter 方案

newbe36524

C# dotnet

寻找性能更优秀的不可变小字典

newbe36524

C# dotnet

架构师训练营 1 期第 7 周:性能优化(一)- 作业

灵霄

极客大学架构师训练营

Netty源码解析 -- PoolSubpage实现原理

binecy

Netty 内存管理 源码阅读

AI会取代人类劳动吗?

脑极体

性能压测

橘子皮嚼着不脆

架构师训练营第二期 Week 3 作业

bigxiang

极客大学架构师训练营

架构师训练营第七周作业

郎哲158

极客大学架构师训练营

微软发布Azure Redis Cache服务的跨地域复制功能_微软_Martin Abbott_InfoQ精选文章