速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

亚马逊 Aurora Serverless 如何管理资源并为包含 10K+ 实例的机群进行扩缩容

作者:Rafal Gancarz

  • 2024-10-08
    北京
  • 本文字数:1246 字

    阅读完需:约 4 分钟

亚马逊 Aurora Serverless 如何管理资源并为包含 10K+ 实例的机群进行扩缩容

AWS 工程师发表了一篇论文,描述了 Amazon Aurora Serverless(无服务器)平台的资源管理和扩缩容的演变以及最新的设计。Aurora Serverless 使用不同级别的组件组合来创建一种全面的方法,用于动态扩展和资源调整,以满足客户工作负载的需求。


Amazon Aurora Serverless 自动扩缩 Amazon Aurora 数据库,以响应不断变化的客户工作负载,并提供成本优化、性能改进和简化的操作。Aurora 客户使用 Aurora 容量单位(Aurora Capacity Units,ACU)配置扩缩边界,服务根据需求动态调整资源。从客户的角度来看,这些扩缩操作不需要任何干预,也不会中断客户端连接或会话状态,但它们可能会影响延迟时间。


当前的 Aurora Serverless 产品是基于 2018 年推出的 ASv1 运维和支持经验而设计的的第二代产品。新设计侧重于就地扩缩(in-place Scaling),使用 CPU 和内存热插拔,支持跨主机的实时迁移。与 ASv1 相比,ASv2 提供了更快、更无缝的扩缩,扩缩增量更小,更具成本效益。


致力于第二代解决方案的团队必须应对许多挑战,其中最主要的挑战是对数据库工作负载进行有效的内存管理,以支持扩展和缩减事件。Linux 和数据库引擎倾向于提交所有可用的内存并保留它们。工程师更改了数据库引擎、Linux 内核和 AWS Nitro 虚拟化管理程序(hypervisor),以便为不同的工作负载提供更灵活的内存管理。



实例管理器服务(来源:Aurora Serverless 中的资源管理)


Amazon Aurora 利用每个实例的管理器服务,根据物理主机上所有实例的需求趋势来控制数据库引擎的资源扩缩。优化数据库引擎在主机之间的放置和可用的资源余量,使 Aurora Serverless 能够确保主机上有足够的资源来适应动态工作负载,而无需在主机之间迁移这些资源。


Aurora Serverless 服务在最广泛的级别上管理着包含数万个计算实例的大型机群。机群管理器(Fleet Manager)服务侧重于根据所需的利用率水平并预测需求进行中长期机群的规模和容量进行调整。当主机面临“热”的风险时,使用主机之间的实时迁移来释放资源。此外,机群管理器可以在“热修复”期间对实例的最大 ACU 施加临时限制。



机群管理器服务(来源:Aurora Serverless 中的资源管理)


工程师们分享了美国 AWS 地区 Aurora 机群的一些数据,指出绝大多数(99.98%)的扩缩事件不需要主机间的迁移,可以通过就地扩缩机制来满足。


论文最后总结了一些关键要点,强调了设计的简单性和一种响应式、指标驱动的资源管理方法。该团队不排除未来在解决方案中引入更多预测元素的可能性,并强调了虚拟化管理程序和操作系统内核共同演进以更好地支持数据库工作负载的进一步机会。

作者介绍

Rafal Gancarz 是一位经验丰富的技术领导者和专家。他目前正在帮助星巴克打造具有可扩展性、弹性和成本效益的商务平台。此前,Rafal 曾为思科、埃森哲、凯德、ICE、Callsign 等公司设计和构建大规模、分布式和基于云的系统。他的兴趣涵盖了架构与设计、持续交付、可观测性和可操作性,以及软件交付的社会技术和组织方面。


原文链接:

https://www.infoq.com/news/2024/08/aurora-serverless-scale-resource/


2024-10-08 08:004863

评论

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

制作 Flask 程序容器镜像

wong

Python flask k8s Dockerfile

一网打尽!音乐高手都在使用的打谱软件不藏私推荐!

懒得勤快

45岁程序员发求职贴:精通各种技术体系,却连个面试机会都没有…

Java高级开发

Java 程序员 面试 职场

使用 Node.js 消费SAP Cloud for Customer上的Web service

汪子熙

node.js SAP C4C 11月日更

AI界的革命!终于可以自动标注了!

百度开发者中心

AI 自动标注工具

解决文件存储难题 openGauss隆重推出段页式特性

openGauss

Hadoop实战篇-集群版(2)

进击的梦清

大数据 hadoop zookeeper

Python代码阅读(第59篇):根据value查询字典key值

Felix

Python 编程 阅读代码 字典 Python初学者

HBase shell get命令从二进制还原真实值

WindFlying

从0到10彻底搞懂信息流【投放系统】

水泽山林

系统架构 推荐系统 智能投放 内容平台

有一说一,阿里内部SpringBoot王者晋级之路全彩小册开源,让我开了眼

热爱java的分享家

Java 架构 面试 程序人生 编程语言

如何用EasyRecovery恢复中毒U盘中丢失的文件

淋雨

EasyRecovery

ABAP 和 Java 的单元测试 Unit Test

汪子熙

Java abap 11月日更 JavaSAP

“太白”团队加入OpenInfra Labs,联合社区成员共同完善多云管理技术

华为云GaussDB NoSQL云原生多模数据库的超融合实践

华为云数据库小助手

GaussDB 华为云数据库 GaussDB NoSQL

基于MySQL binlog日志,实现Elasticsearch近实时同步实践

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

肝!Spring JDBC持久化层框架“全家桶”教程

热爱java的分享家

Java 架构 程序人生 编程语言 架构师

盲盒app开发盲盒小程序开发

论文解读丨LayoutLM: 面向文档理解的文本与版面预训练

华为云开发者联盟

CV 预训练 LayoutLM模型 无标注 文档理解

为何飞书成了先进企业的标配?

ToB行业头条

这个无敌设计,可以解析并运算任意数学表达式

Tom弹架构

Java 架构 设计模式

987页的Java面试宝典,看完才发现,应届生求职也没那么难

热爱java的分享家

Java 架构 面试 程序人生 编程语言

SOLID原则之 单一职责原则

面向对象的猫

SOLID

关于openGauss账本数据库:你想知道的这里都有

openGauss

Ustore在openGauss闪亮登场,重构openGauss数据存储的灵魂

openGauss

盲盒开发盲盒系统开发定制

快速剪辑-助力度咔智能剪辑提效实践

百度Geek说

架构 后端

低代码——不应该只是玩具

行云创新

云原生 低代码 开发 高效

dart系列之:元世界pubspec.yaml文件详解

程序那些事

flutter dart 程序那些事 11月日更

CSS奇技淫巧之滤镜(二)drop-shadow

Augus

CSS 11月日更

我就获取个时间,机器就down了

安第斯智能云

Linux 后端

亚马逊 Aurora Serverless 如何管理资源并为包含 10K+ 实例的机群进行扩缩容_管理/文化_InfoQ精选文章