多可用区基础版与高可用版对比

更新时间:
复制为 MD 格式

为避免可用区级别故障导致向量检索服务Milvus版(简称Milvus)整体不可用,Milvus推出了跨可用区部署模式(多可用区基础版和多可用区高可用版),本文详细介绍两种架构以及之间的区别。

背景信息

Milvus单可用区实例的所有服务在单可用区部署,在极端情况下(例如机房级故障),可能会导致单个可用区(AZ)不可用或不可访问,从而导致整个Milvus服务不可用。

Milvus多可用区(基础版)和Milvus多可用区(高可用版)的元数据服务、消息服务和数据都会分布在多个机房,即使发生了机房级别的可用区故障,也可以保障数据的完整性和元数据服务的可用性(可用性取决于剩余可用区的计算和存储资源情况)。

多可用区(基础版)与多可用区(高可用版)的主要区别如下:

  • 多可用区基础版:计算资源仅有一份,因此宕机时需要一定的恢复时间。RTO1小时内,但性价比更高。

  • 多可用区高可用版:两份计算资源,业务异常时可以直接切换主备集群。RTO3分钟内。

部署架构

多可用区基础版

image.png

多可用区基础版架构从以下几个方面,保证了数据和服务的高可用性:

  • 元数据服务跨机房部署:所有的元数据节点会跨三个机房部署,以保证元数据的高可用性。

  • 消息服务跨机房部署:所有的消息服务节点会跨三个机房部署,以保证消息数据的高可用性。

  • 计算节点单机房部署:计算节点默认部署在主可用区,服务间交互有最少的交互延迟,当主可用区故障的情况下,在备可用区重新拉起计算节点。

  • OSS部署模式升级:OSS升级为同城冗余的OSS部署模式,以保证OSS冷存储业务的稳定和数据的高可用性。

多可用区高可用版

image.png

多可用区高可用版架构从以下几个方面,保证了数据和服务的高可用性:

  • 元数据服务跨机房部署:所有的元数据节点会跨三个机房部署,以保证元数据的高可用性。

  • 消息服务跨机房部署:所有的消息服务节点会跨三个机房部署,以保证消息数据的高可用性。

  • 计算节点单机房部署:计算节点默认部署在主可用区,服务间交互有最少的交互延迟,计算节点的备份部署在备可用区并同步加载数据。当主可用区故障的情况下,在阿里云Milvus后台切换主备可用区,由之前备可用区继续提供读写服务。

  • OSS部署模式升级:OSS升级为同城冗余的OSS部署模式,以保证OSS冷存储业务的稳定和数据的高可用性。

高可用能力对比

下表为阿里云Milvus单可用区实例、多可用区基础版实例和多可用区高可用版实例在可用能力、性能等特性上的对比,建议您根据业务需求进行选择。

对比项

单可用区

双可用区基础版

双可用区高可用版

计算节点跨AZ个数

1

2

2

机房故障下的RPORTO

不具备机房级容灾能力

  • RPO = 0

  • RTO < 1 小时(库存资源充足下)

  • RPO = 0

  • RTO < 3 分钟

成本

1

  • 1-1.3

  • 存储:20%

  • 计算:无变动

  • 2

  • 存储:20%

  • 计算:100%(严格主备)

性能

1

  • 元数据服务因跨机房可能有一定上升。

  • 查询延迟和插入延迟基本无衰减。

  • 元数据服务因跨机房可能有一定上升。

  • 查询延迟和插入延迟基本无衰减。

使用限制

  • 多可用区高可用版的计算节点主备可用区各需一份,因此新建或扩容时,节点数必须为2的倍数。

  • 多可用区高可用版不支持2.4版本内核。