Aurora Serverless v2 新增零容量扩展功能,实现真正的无服务器

Amazon Aurora Serverless v2 支持扩展至零容量

Amazon Aurora Serverless v2 近日宣布支持扩展至零容量,这意味着数据库在基于连接的不活动一段时间后可以自动暂停。这一功能解决了多年来 Aurora 按需自动扩展配置无法扩展至零容量的争议。

主要观点与关键信息

  1. 自动暂停与恢复功能

    • AWS 高级数据库专家解决方案架构师 Jason Pedreza 和产品经理 Anum Jang Sher 解释称,自动暂停和恢复功能有助于管理那些不需要严格服务级别目标的应用程序的成本。对于可以容忍大约 15 秒恢复时间的工作负载,可以在开发和测试集群以及允许数据库恢复时冷启动的应用程序中使用此功能。
  2. 历史背景

    • Aurora Serverless v2 在四年前的 re:Invent 大会上首次预览,并于 2023 年春季正式推出。此前,Aurora Serverless v2 需要至少 0.5 ACU(一个 ACU 相当于约 2 GiB 内存以及相应的 CPU 和网络资源)。
  3. 恢复时间与客户端设置

    • 典型的恢复时间约为 15 秒,建议将客户端超时设置(如 JDBC 驱动程序的 connectTimeoutsslResponseTimeout)配置为超过此时间。
  4. 社区反馈

    • 社区对 Aurora Serverless v2 的主要抱怨之一是缺乏“扩展至零”选项。Ampt 联合创始人 Jeremy Daly 认为,除非有高度可预测的流量模式,否则不建议在生产环境中启用此功能。
  5. 自动暂停行为

    • SecondsUntilAutoPause 属性决定了数据库实例在没有打开连接的情况下必须保持多长时间才能暂停,最小(默认)值为 5 分钟,最大值为 1 天。AWS 提醒,恢复后的初始容量可能低于暂停前的容量。
  6. 限制与例外

    • 某些情况下无法扩展至零 ACU,例如使用 RDS Proxy 或任何保持与数据库实例打开连接的代理时。
  7. 应用设计考虑

    • AWS 强调在实施连接逻辑时,如果初始尝试返回错误,建议重试连接。此外,应用程序应避免让客户端会话或编程工具保持与数据库的打开连接。
  8. 支持的版本

    • 目前,Aurora PostgreSQL 版本 13.15+、14.12+、15.7+ 和 16.3+,以及 Aurora MySQL 版本 3.08+ 支持扩展至零容量功能。

重要细节

  • 自动暂停与恢复的差异:Aurora Serverless v2 与已弃用的 Aurora Serverless v1 在自动暂停行为上有显著差异。
  • 手动停止与启动:即使启用了自动暂停功能,仍然可以手动停止和启动集群,但任何暂停的实例在重新启动时会自动恢复。
  • 社区评论:Yan Cui 认为这一功能“终于名副其实”,而 The Duckbill Group 的首席云经济学家 Corey Quinn 则评论称,经过多年的争论,亚马逊终于意识到“Serverless”确实意味着“扩展至零”。

总结

Amazon Aurora Serverless v2 支持扩展至零容量是其功能的重要补充,特别适用于开发和测试环境以及允许冷启动的应用程序。然而,由于恢复时间的存在,生产环境中的应用需谨慎考虑是否启用此功能。AWS 提供了详细的文档和设计建议,帮助用户更好地利用这一新特性。

阅读 26
0 条评论