从Serverless优化的Artifact Registry每日下载数千万个容器镜像

从Serverless优化的Artifact Registry每日下载数千万个容器镜像

💡 原文英文,约900词,阅读约需4分钟。
📝

内容提要

本文介绍了Databricks构建Serverless优化的Artifact Registry的过程,旨在确保容器镜像在不可预测的Serverless流量下无缝分发,并在重大故障时保持可用性。通过去除关系数据库,采用云对象存储,Artifact Registry实现了更高的可扩展性和可靠性,显著降低了延迟和资源使用。

🎯

关键要点

  • Databricks构建Serverless优化的Artifact Registry,确保容器镜像在不可预测的流量下无缝分发。
  • 容器是现代云原生部署格式,自2017年起,Databricks内部服务以容器形式运行。
  • 2021年,Databricks推出Serverless DBSQL和ModelServing产品,预计每天需要配置数百万个虚拟机。
  • 开源容器注册表无法满足Serverless的需求,面临多个挑战。
  • 开源注册表的主要挑战包括:难以跟上Databricks的增长、可靠性不足和运营成本高。
  • 云管理的容器注册表虽然更具可扩展性,但在不同云服务提供商之间存在异质性和成本问题。
  • 引入P2P图像分发以提高可扩展性,但仍面临可靠性风险。
  • 构建Artifact Registry以满足Serverless优化的需求,确保Databricks的快速增长。
  • Artifact Registry设计原则包括:水平扩展、去除关系数据库、使用简单的内存缓存。
  • 迁移到Artifact Registry后,P99延迟减少90%以上,CPU使用率降低80%。
  • 主要设计决策是完全用云对象存储替代关系数据库,以提高可扩展性和可靠性。

延伸问答

Artifact Registry的主要目标是什么?

Artifact Registry的主要目标是确保容器镜像在不可预测的Serverless流量下无缝分发,并在重大故障时保持可用性。

Databricks为何需要构建Artifact Registry?

Databricks需要构建Artifact Registry是因为开源容器注册表无法满足Serverless的需求,面临可靠性不足和运营成本高等挑战。

Artifact Registry如何提高可扩展性和可靠性?

Artifact Registry通过完全用云对象存储替代关系数据库,去除缓存实例,使用简单的内存缓存等方式,提高了可扩展性和可靠性。

迁移到Artifact Registry后,性能有何变化?

迁移到Artifact Registry后,P99延迟减少90%以上,CPU使用率降低80%。

开源容器注册表面临哪些主要挑战?

开源容器注册表面临的主要挑战包括难以跟上Databricks的增长、可靠性不足和运营成本高。

Artifact Registry的设计决策有哪些?

Artifact Registry的主要设计决策包括去除关系数据库、使用云对象存储、增加内存缓存,以及将多个微服务整合为一个服务。

➡️

继续阅读