多可用区基础版与高可用版对比
为避免可用区级别故障导致向量检索服务Milvus版(简称Milvus)整体不可用,Milvus推出了跨可用区部署模式(多可用区基础版和多可用区高可用版),本文详细介绍两种架构以及之间的区别。
背景信息
Milvus单可用区实例的所有服务在单可用区部署,在极端情况下(例如机房级故障),可能会导致单个可用区(AZ)不可用或不可访问,从而导致整个Milvus服务不可用。
Milvus多可用区(基础版)和Milvus多可用区(高可用版)的元数据服务、消息服务和数据都会分布在多个机房,即使发生了机房级别的可用区故障,也可以保障数据的完整性和元数据服务的可用性(可用性取决于剩余可用区的计算和存储资源情况)。
多可用区(基础版)与多可用区(高可用版)的主要区别如下:
多可用区基础版:计算资源仅有一份,因此宕机时需要一定的恢复时间。RTO在1小时内,但性价比更高。
多可用区高可用版:两份计算资源,业务异常时可以直接切换主备集群。RTO在3分钟内。
部署架构
多可用区基础版

多可用区基础版架构从以下几个方面,保证了数据和服务的高可用性:
元数据服务跨机房部署:所有的元数据节点会跨三个机房部署,以保证元数据的高可用性。
消息服务跨机房部署:所有的消息服务节点会跨三个机房部署,以保证消息数据的高可用性。
计算节点单机房部署:计算节点默认部署在主可用区,服务间交互有最少的交互延迟,当主可用区故障的情况下,在备可用区重新拉起计算节点。
OSS部署模式升级:OSS升级为同城冗余的OSS部署模式,以保证OSS冷存储业务的稳定和数据的高可用性。
多可用区高可用版

多可用区高可用版架构从以下几个方面,保证了数据和服务的高可用性:
元数据服务跨机房部署:所有的元数据节点会跨三个机房部署,以保证元数据的高可用性。
消息服务跨机房部署:所有的消息服务节点会跨三个机房部署,以保证消息数据的高可用性。
计算节点单机房部署:计算节点默认部署在主可用区,服务间交互有最少的交互延迟,计算节点的备份部署在备可用区并同步加载数据。当主可用区故障的情况下,在阿里云Milvus后台切换主备可用区,由之前备可用区继续提供读写服务。
OSS部署模式升级:OSS升级为同城冗余的OSS部署模式,以保证OSS冷存储业务的稳定和数据的高可用性。
高可用能力对比
下表为阿里云Milvus单可用区实例、多可用区基础版实例和多可用区高可用版实例在可用能力、性能等特性上的对比,建议您根据业务需求进行选择。
对比项 | 单可用区 | 双可用区基础版 | 双可用区高可用版 |
计算节点跨AZ个数 | 1 | 2 | 2 |
机房故障下的RPO与RTO | 不具备机房级容灾能力 |
|
|
成本 | 1 |
|
|
性能 | 1 |
|
|
使用限制
多可用区高可用版的计算节点主备可用区各需一份,因此新建或扩容时,节点数必须为2的倍数。
多可用区高可用版不支持2.4版本内核。