AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

亚马逊 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:004992

评论

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

JVM 的运行时数据区域分布

rookiedev

Java JVM

FastAI:滴普技术荟:基于机器视觉的典型多目标追踪算法应用实践

目标追踪 目标检测 追踪算法

Java 细粒度锁续篇

rookiedev

Java 多线程 加锁

彩色的线,数据的诗,你好——贵州鲲鹏!

脑极体

职业规划

Albert

职业规划 七日更

远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统

刘悦的技术博客

Docker 高可用 监控 Prometheus 预警

区块链矿机挖矿系统开发软件技术

使用 Helmfile 解放你的 Helm Chart

郭旭东

云原生 Helm

让你的简历不落窠臼,精雕细镂写一份真正的技术简历(Python向)

刘悦的技术博客

Python 面试 简历优化 简历

Ribbon使用及其内核原理剖析

Fox666

比特币的安全性到底有多高?

CECBC

比特币

数据为墨,智能作笔:画一卷新姑苏繁华图

脑极体

“社恐”独处好去处:无人自习室,一个人的“世外桃源”

IoT云工坊

物联网 无人自习室 智能门禁 智能灯控 线上预约

规模化敏捷框架何从入手?这篇文章把SAFe讲透了!

华为云开发者联盟

敏捷开发 框架 safe

腾讯T4架构师:刷3遍以下面试题,你也能从小公司成功跳到大厂

Java架构之路

Java 程序员 架构 面试 编程语言

关于昆明市政协、市统战部、民革昆明市委赴云南坤艮盈科技有限公司(商务部CECBC区块链专委会秘书处云南办事处)调研指导工作

CECBC

云南发展

假冒、诈骗、隐私安全,如何应对数字人民币的风险与挑战?

CECBC

货币

FastAI:滴普技术荟:某工业产品内部结构尺寸图像测量和缺陷检测分析

AI 目标检测 图像处理 缺陷检测 图像检测

SQL优化最干货总结-MySQL「2020年终总结版」

Java架构师迁哥

号称大厂面试官的克星,“神仙版”Java面试宝典,“真”吊打大厂面试官

Java架构之路

Java 程序员 架构 面试 编程语言

低代码与零代码工具的这些特征,弥补了所有人和IT之间的差距!

J2PaaS低代码平台

程序员 互联网 开发者 软件开发 开发工具

如何成为架构师?

xcbeyond

个人成长 架构师 七日更

LeetCode题解:92. 反转链表 II,迭代,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

转型项目经理?

escray

面试 面经 七日更 十日谈

区块链农场游戏系统开发软件定制

用大白话给你解释Zookeeper的选举机制

爱笑的架构师

zookeeper ZooKeeper原理 七日更

[git使用技巧] git提交忽略不必要的文件或文件夹

xcbeyond

git 七日更

业务中台建设 - 配置化

孝鹏

中台 微服务 配置化开发

吊!设计模式全解:6大设计原则+23种设计模式+设计模式PK+设计模式混编

Java架构之路

Java 程序员 架构 面试 编程语言

FastAI:滴普技术荟:基于深度学习的云边一体化OLED屏缺陷自动光学检测技术

学习 缺陷检测 云边一体 自动光学检测

微服务架构太难了?那你可能还没掌握SpringBoot+SpringCloud+Docker+RabbitMQ

Java架构之路

Java 程序员 架构 面试 编程语言

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