2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

微软发布 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:001988

评论

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

如何使用 Workbench 远程连接到 MySQL 数据库 -MySQL Workbench 使用教程

蒋川

MySQL 数据库 MySQL 数据库

Python Qt GUI设计:QPainter、QPen、QBrush和QPixmap窗口绘图类(基础篇—17)

不脱发的程序猿

Python GUI设计 PyQt5 绘图功能

Prometheus Exporter (十二)Consul Exporter

耳东@Erdong

Prometheus Consul exporter 11月日更

技术解析+代码实战,带你入门华为云政务区块链平台

华为云开发者联盟

区块链 华为云 政务 Baas 异构链

深入了解Netty原理篇

邱学喆

Netty

Alibaba5轮视频面:同事+组长+主管+项目+HR,收割Java岗offer

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

数据网格简史

俞凡

架构 数据

在线VLOOKUP数据查找工具

入门小站

工具

归并排序,我举个例子你就看懂了

华为云开发者联盟

算法 归并排序 序列 归并 分治法

微博评论高性能高可用的设计

云里雾花

[Pulsar] Persistent Topic持久化消息

Zike Yang

Apache Pulsar 11月日更

Flutter 的动画包【Flutter专题4】

坚果

flutter 签约计划第二季

质量基础设施“一站式”平台,NQI一站式云平台开发

电微13828808271

系统架构性能优化思路

五分钟学大数据

11月日更

不愧是阿里p8大佬!终于把Java 虚拟机底层原理讲清楚了,请签收

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

C#中的yield

喵叔

11月日更

Android C++系列:Linux信号(二)

轻口味

c++ android jni 11月日更

大厂算法面试之leetcode精讲8.滑动窗口

全栈潇晨

算法面试 Leet Code

网络协议之:一定要大写的SOCKS

程序那些事

网络协议 程序那些事 11月日更 SOCKS

在 Flutter 中使用 dio【Flutter专题3】

坚果

flutter 签约计划第二季

智慧警务系统开发,警务通app搭建

电微13828808271

基于Serverless的端边云一体化媒体网络

华为云开发者联盟

Serverless 端边云 媒体网络 视频云 边缘云

Vue前端开发规范

CRMEB

Hadoop 企业级生产调优手册 (二)

大数据技术指南

11月日更

Python 可以满足你任何 API 使用需求

华为云开发者联盟

Python API 程序 网络通信 公共数据

如何使用 MySQL Workbench 自动生成 ER 图、同步更新远程数据库 - MySQL Workbench 使用教程

蒋川

MySQL 数据库 数据管理工具

【死磕Java并发】-----J.U.C之读写锁:ReentrantReadWriteLock

chenssy

11月日更 死磕 Java 死磕 Java 并发

react源码解析1.开篇介绍和面试题

buchila11

React

react源码解析2.react的设计理念

buchila11

React React Hooks

为什么要做漏洞扫描呢?

华为云开发者联盟

安全 风险 漏洞 漏洞扫描 安全认证

DDD领域驱动设计落地实践系列:初识DDD

慕枫技术笔记

架构 后端 签约计划第二季

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