写点什么

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

评论

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

只用了几百行代码写的百度搜索引擎,程序员Javaweb源码

Java 程序员 后端

QCon复盘之《58 集团反爬系统建设之路》

IT蜗壳-Tango

Qcon 10月月更

1-3年Android开发工程师面试经验分享,真的太香了

android 程序员 移动开发

只需一篇文章吃透Java多线程技术,内容非常全面

Java 程序员 后端

大数据Flink作业

Clarke

1个月学会Android开发!动脑学院vip

android 程序员 移动开发

2020-2021华为Android面试真题,凭借这份Android面试题集

android 程序员 移动开发

厉害了,java入门电子书百度网盘下载,Java中高级面试

Java 程序员 后端

【免费报名】与阿里云一同探索视频云的新技术与新场景

阿里云CloudImagine

阿里云 音视频 视频编码 视频编解码 视频云

人力资源管理系统和oa的区别?

优秀

低代码

15分钟的字节跳动视频面试,34岁Android程序员裸辞

android 程序员 移动开发

卧薪尝胆70天内推入职阿里,2021Java春招

Java 程序员 后端

史上最全的Java面试题集锦,高级Java工程师面试技术

Java 程序员 后端

声纹识别帮你守住钱袋子,聊一聊证券行业里的人工智能

Zilliz

AI 向量检索 Milvus 向量

只需一篇文章吃透Java多线程技术,那些BAT大厂的Java面试官到底在想些什么

Java 程序员 后端

10年阿里开发架构师经验分享:享学课堂架构师vip百度云

android 程序员 移动开发

我有一台服务器,能干啥?

程序员鱼皮

程序员 IT 代码 计算机 java

2019-2021历年华为跳动Android面试真题解析,面经解析

android 程序员 移动开发

厉害了!java使用教程视频,我的Java春季历程

Java 程序员 后端

厉害了!尚硅谷mysql中employees表,腾讯T2手把手教你

Java 程序员 后端

原来SqlSession只是个甩手掌柜,Redis有几种数据类型

Java 程序员 后端

河北联通全光智慧专线,构筑更智运营新体验

10天用Flutter撸了个高仿携程App,2021年Android面试心得

android 程序员 移动开发

12道Android高级面试题:android项目开发实战入门百度网盘

android 程序员 移动开发

反向代理、负载均衡实战,【深度思考

Java 程序员 后端

DevOps 时代的高效测试之路

CODING DevOps

DevOps 团队 自动化测试 持续交付

使用 Spring Boot 进行单元测试

码界行者

Java Spring Boot Unit Test

100%好评,扔物线学堂

android 程序员 移动开发

华为财经2021春招面试,尚硅谷springboot笔记,最全Java知识总结

Java 程序员 后端

12道Android高级面试题:android开发视频百度网盘

android 程序员 移动开发

1307页阿里Android面试全套真题解析在互联网火了,附赠复习资料

android 移动开发

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