← Financial Cloud Cloud Cloud Club · AWS Re:cap

极点宏观|Financial Cloud Cloud · AWS Re:cap

AWS Re:cap 06: Amazon Aurora HA 和 DR 全球弹性设计模式 (DAT442)

讲者: AWS re:Invent 2025

场次: 06

场次
Summit Dev Lounge2026 Re:cap
01 把架构写成 Steering,引导 AI Agent
Summit Dev Lounge2026 Re:cap
02 Agent Harness 才是真正的工程护城河
Summit Dev Lounge2026 Re:cap
03 用白话询问可观测性数据
Summit Dev Lounge2026 Re:cap
04 以 Bedrock AgentCore 打造 Serverless AR 游戏
Summit Dev Lounge2026 Re:cap
05 AgentCore 上的多 Agent 量化回测
Summit Dev Lounge2026 Re:cap
06 三分钟用 Kiro 把博客变成幻灯片
Summit Dev Lounge2026 Re:cap
AWS Community Day Hong Kong 2025 Re:cap
02 使用 Terraform 实现 AWS 合规
AWS Community Day Hong Kong 2025 Re:cap
03 从初学者到构建者:一段精彩的 AWS 云之旅
AWS Community Day Hong Kong 2025 Re:cap
04 以团队为先:使用 Laravel 与 Bref 开展无服务器工程
AWS Community Day Hong Kong 2025 Re:cap
05 活动开幕式
AWS Community Day Hong Kong 2025 Re:cap
06 智能体到智能体:在 AWS 上构建可互操作的 AI
AWS Community Day Hong Kong 2025 Re:cap
07 利用另一类遥测数据,借助 AI 智能体更快改进
AWS Community Day Hong Kong 2025 Re:cap
08 告别氛围编程:使用 Kiro 进行规格驱动开发
AWS Community Day Hong Kong 2025 Re:cap
09 使用 MCP 与 AI 智能体进行自动化测试
AWS Community Day Hong Kong 2025 Re:cap
10 使用机器学习方法实现电信安全现代化
AWS Community Day Hong Kong 2025 Re:cap
11 重新思考生成式 AI 智能体:RAG 与 MCP
AWS Community Day Hong Kong 2025 Re:cap
12 使用 TAK 和 AWS 开展灾难与应急响应
AWS Community Day Hong Kong 2025 Re:cap
13 从测试视角重新思考无服务器应用程序工作流
AWS Community Day Hong Kong 2025 Re:cap
14 Practical AWS FinOps for Cloud Success
AWS Community Day Hong Kong 2025 Re:cap
15 基于 AWS 的 AI 驱动全球纯 Alpha 宏观交易:重塑风险调整后资产收益
AWS Community Day Hong Kong 2025 Re:cap
FSI Recap
01 现代交易生命周期:从交易到结算
FSI Recap
02 Goldman Sachs:通过 Fast Track 加速应用程序上云 - AWS Re:cap Q1/2023
FSI Recap
03 Zurich Insurance Group:在 AWS 上构建高效的日志管理解决方案
FSI Recap
04 FSI Meetup 2025 年第四季度 - Brex 数据库灾难恢复
FSI Recap
05 FSI Meetup 2025 Q4 - Graviton 迁移成功案例
FSI Recap
06 FSI Meetup 2025 Q4 - Stifel 现代数据平台
FSI Recap
07 FSI Meetup 2025 Q4 - PayPal 金融交易数据对账系统
FSI Recap
08 FSI Meetup 2025 Q4 - 规模化提升韧性
FSI Recap
09 最大限度提高 AI 推理成本效益:战略性采用 AWS GPU 实例
FSI Recap
10 高级智能体 AI 设计模式
FSI Recap
11 在 AWS 上构建全新的现代化应用
FSI Recap
AWS re:Invent 2025
01 Coinbase re:Invent 回顾 (IND3312)
AWS re:Invent 2025
02 利用 AI 和 AWS 构建未来交易平台
AWS re:Invent 2025
03 交易创新:Jefferies 基于 Amazon Bedrock 构建的 AI 助手 (IND3315)
AWS re:Invent 2025
04 FSI 如何通过 Agentic AI (GBL302) 彻底改变 HFT 分析
AWS re:Invent 2025
05 使用 Amazon Time Sync 改进分布式系统(采用 Nasdaq)
AWS re:Invent 2025
06 Amazon Aurora HA 和 DR 全球弹性设计模式 (DAT442)
AWS re:Invent 2025
07 构建智能体式 AI:Amazon Nova Act 与 Strands Agents 实践 (DEV327)
AWS re:Invent 2025
08 深入探讨 Amazon Aurora 及其创新 (DAT441)
AWS re:Invent 2025
09 深入探讨 Amazon S3(STG407)
AWS re:Invent 2025
10 Nasdaq:为全球金融服务构建弹性基础设施 (HMC327)
AWS re:Invent 2025
11 AWS Lambda 新功能 (CNS376)
AWS re:Invent 2025
12 使用 Kiro 进行规范驱动开发 (DEV314)
AWS re:Invent 2025
13 Amazon 的 FinOps:全球电商巨头的云成本管理经验 (AMZ308)
AWS re:Invent 2025
14 AWS 上交易平台的 Tick-to-Trade 延迟
AWS re:Invent 2025
政务数据
01 The AI Era: The Boundary Between Development and Design Is Disappearing
政务数据
02 端侧多模态 AI 与智慧城市实践
政务数据
03 大模型能力评测与 AI 项目落地方法论
政务数据
04 基于云代理的政府开发全链路受控自动化
政务数据
05 从多智能体看 Agent 时代软件新生态
政务数据
06 AI 驱动的宏观量化研究与智慧治理
政务数据
07 公共数据授权运营与智慧政务实践
政务数据
08 数据资产化落地实践:确权合规、工程治理与数字政府案例
政务数据
09 AI技术赋能心理健康公益:可信平台的治理、架构与实践
政务数据
Amarathon 2025 回顾
01 开发者的智能体架构设计路线图
Donnie Prakoso
02 Amazon Bedrock 数据自动化
Hafiz Syed Ashir Hassan
03 AgentCore 上的多智能体
Tan Xin
04 实践中构建智能体式 AI:Nova Act 与 Strands Agents
Haowen Huang
04 使用规格驱动开发,通过 Kiro 加速迁移项目
Sanchit Dilip Jain
06 从「匹配」到「理解」:由 AgentCore Memory 驱动的个性化 AI 搜索实践
Liu Cao
07 从观察到优化:从 LLM 可观测性迈向 AIOps,将实时洞察转化为智慧自动化
Jimmy Soh
08 部署 TEAM 并打造最佳工程团队
Yuji Oshima
09 五年来所谓无服务器数据库带来的五个惨痛教训
Renato Losio
14 如果 AI 替我工作会怎样:Q Developer CLI 与 Kiro 如何改变我的日常工作
Miguel Angel Muñoz
16 兼顾速度与警觉:Amazon Bedrock Agent 开发的安全要点
Brian Tarbox
26 在单张 H100 上运行 OSS LLM:更智能、更便宜、更快速
Adit Modi Adit Modi
28 现代统一元数据架构:打破数据孤岛的新方法
Shaofeng Shi
29 无服务器 MediaOps:使用 Amazon Web Services 上的 AI 自动化视频工作流
Luis Valdivia
30 通过大规模性能测试构建兼具效率与可靠性的架构
Luis Guirigay
31 通过开源连接世界:技术、社区与全球开发者关系的实践历程
Richard Lin
33 构建流式 Iceberg 表以进行实时物流分析
Fahad Shah
34 加速大规模机器人策略训练:基于 Kiro、Trainium 和 EKS 的自动化闭环架构
Junjie Tang
35 通过规格驱动开发,从 Vibe 走向可行方案
Ricardo Sueiras
36 让云成本分析更智能:使用 Strands 和 AgentCore 构建 FinOps 智能体
Xiaofei Li
37 使用 CNCF Kagent、K8sGPT 和 Nova Sonic 转型 K8s 对话式智能体 AIOps
Shaoyi Li

视频: https://www.youtube.com/watch?v=TNURufOhu_A

Aurora 的性能方法

添加副本以提高性能

● 将读取流量卸载到副本,减少对主写入器的影响。

● 通过将副本专用于特定工作负载(例如分析),允许隔离嘈杂的邻居。

● 最多可以添加 15 个副本以进行细粒度的性能管理。

● 存储扩展:

● Aurora 中的存储容量和性能自动扩展,无需手动配置。

● 实例缩放:

● 可以添加各种大小的实例(例如 16XL、8XL、4XL)以进行故障转移和性能管理。

● DB 实例具有弹性,可从 0 扩展到 256 个 Aurora 容量单位。

● 故障转移层被定义为根据大小和容量管理实例故障转移顺序。

● 弹性实例有助于管理工作负载峰值,而不会产生长期成本影响。

挑战:Aurora 中的连接管理

● 管理与多个实例的连接,尤其是识别用于事务的写入节点。

● 技术:

● 池化并限制每个 DB 实例的连接,避免重新连接。

● 驱动框架:

● 像 Spring 和 JDBC 这样的标准实践可能无法有效地处理集群数据库。

Aurora 端点

写入端点

● 始终指向当前写入节点,确保事务路由一致。

● 读取端点:

● 指向使用 DNS 循环进行粗略负载平衡的读取操作的实例池。

● 自定义端点:

● 为特定用例(例如分析)创建自定义端点的选项。

AWS Advanced Wrapper Drivers

快速驱动程序

● 增强的驱动程序对集群状态有深入的了解,有助于更快的故障转移。

● RDS Proxy:

● 用于管理连接和减少故障转移时间的附加工具。

● 插件:

● 增强型故障转移、读写分离、蓝绿部署。

多区域弹性

● 挑战:在某个区域发生故障或网络中断时确保业务连续性。

● 解决方案:在另一个区域维护一个副本,以最小的成本保持最新状态,并将其用于各种目的。

● Aurora Global Database 的多区域弹性:

● Aurora Global Database 允许 AMS 和 APG 最多有 10 个辅助区域。

● 内部复制服务器处理区域之间的异步物理复制。

● 不涉及头节点,避免了与逻辑复制相关的性能。

● 配置及优点:

● 区域 A:具有副本和存储的主要区域。

● Region B:初始具有存储的辅助区域,可以添加只读实例以供本地读取。

● 不对称配置是可能的;次要区域中的实例不需要与主要区域匹配。

● RPO 延迟通常约为 1 秒,具体取决于区域对距离。

● 全局端点和故障转移:

● 全球端点管理主要区域标识。

● 如果区域 A 发生故障,将管理故障转移到区域 B,但异步复制可能会导致数据丢失。

● 使用 Route 53 数据平面重新指向全局端点以实现快速重定向。

● 切换:

● 当两个区域都健康时执行切换。

● 区域 A 被告知停止成为主要区域,区域 B 成为主要区域。

● 允许在区域之间快速过渡而不会造成中断。

● 切换过程:

● 将特殊日志记录(标记日志记录)插入到日志记录流中。

● 另一端识别标记并在指定的日志时间成为主端。

● 同时,区域 A 不再是主要区域,从而确保干净的切换。

● 结果为零 RPO 和非常低的 RTO(大约 30 秒)。

维护和升级

● 需要版本升级(例如,PostgreSQL 16 到 PostgreSQL 17)和 OS 补丁。

● 自我管理的系统需要停机、用于回滚的快照、兼容性测试和性能测试。

● Aurora 提供完全托管和自动化的次要版本和补丁升级体验。

● 现在可以进行滚动操作系统升级,从而提高可用性。

● 维护操作可以在指定窗口内定义或由Aurora自动管理。

● AWS Health Dashboard 提供维护通知。

● 强烈建议选择自动化维护。

● AWS Organization的升级推出政策:

● 新功能可管理开发、QA 和生产环境中多个 DB 集群的升级。

● 简化 DB 集群队列生命周期管理的自动化。

● 允许基于 AWS 组织中多个资源的标签设置升级策略。

● 例子:

● 标记为 Prod 的资源最后升级;开发资源首先升级。

● 默认行为:其次升级没有可识别标签的资源。

● 升级部署涉及将策略分配给资源、确定升级顺序以及在维护时段内分批进行。

● 如果在维护时段内检测到问题,可以灵活地停止升级。

● 就地升级:

● 对于不兼容开源的重大升级,会进行就地升级。

● 涉及创建数据库集群的克隆、升级克隆以及测试应用程序。

● 验证后,克隆将被丢弃,升级将应用于生产集群。

● 蓝绿部署:

● 针对重大升级、架构更改或静态参数更改的更灵活的方法。

● 涉及创建新环境(绿色),同时使用逻辑复制保持旧环境(蓝色)同步。

● 允许在将升级推广到生产环境之前在绿色环境中测试升级。

● 切换会重命名资源以保持一致性,只需一分钟即可完成。

● 蓝绿部署现已可用于跨多个区域的全球数据库。

● Aurora、APG和AMS特点总结:

● 添加副本以提高可用性并启用故障转移。

● 使用 AWS Advanced Rapid Drivers 实现更顺畅的故障转移过程。

● 全球数据库可确保多达 10 个次要区域的持久性和可用性。

● 低延迟本地区域读取并简化了全局端点的端点管理。

● 托管和自动化的集群范围升级、快速克隆以及用于维护的蓝绿部署。

Aurora DSQL简介

● Amazon Aurora DSQL 是最快的无服务器分布式 SQL 数据库,适用于始终可用的应用程序。 Aurora DSQL 提供最快的多区域读写。它使客户能够通过零基础设施管理和零停机维护轻松扩展以满足任何工作负载需求。

● 结合了最好的关系数据库、分布式数据库架构和无服务器服务。

● 旨在运行复杂的查询、横向扩展并提供按使用付费的定价。

● DSQL架构概述:

● 与在 EC2 上运行的自管理 PostgreSQL 进行比较。

● DSQL 每个连接使用一个查询处理器,类似于 PostgreSQL 后端进程。

● 读取查询直接发送到 DSQL 存储引擎。

● 写入操作将缓冲在查询处理器的内存中,直至提交。

● 提交后,事务将发送到 Adjudicator 进行并发控制,然后发送到 Journal 以获得持久性,并复制到至少 2 个 AZs。

● Journal用于更新存储,类似于传统的PostgreSQL。

● DSQL是主动-主动服务,允许任何连接随时读取或写入数据。

● 查询处理器 (QP) 可以在不同的主机或可用区域上运行。

● DSQL 的可用性:

● 如果数据库节点发生故障,查询处理器 (QP) 会检测到故障并将流量转移到运行状况良好的副本。

● 副本可以位于相同或不同的可用区。

● 由于重试,飞行中的操作可能会出现延迟小幅增加的情况。

● DSQL持续备份数据并自动替换故障节点。

● 替换节点连接到 Journal 以追赶最新数据。

● 流量将转移回本地副本以获得最佳性能。

● 并发控制和持久性:

● Adjudicator 负责并发控制和冲突解决。

● 单个 Adjudicator 无需网络协调即可快速解决冲突。

● 其他可用区中保留备用 Adjudicator,用于故障转移。

● 发生故障时,备用 Adjudicator 通过领导者选举协议选出新的领导者。

● 查询处理器向新的领导者 Adjudicator 重试进行中的提交。

● 该过程是无缝的,不需要应用程序执行任何操作。

DSQL 中的高可用性

● DSQL 的设计没有单点故障。

● 双活架构提供开箱即用的高可用性。

● DSQL 旨在自动扩展以处理不断增加的负载。

● 并发控制协议:

● DSQL 使用乐观并发控制,假设事务很少发生冲突。

● 冲突会导致序列化失败错误并要求客户端重试事务。

● 应用程序应该处理重试和乐观并发控制问题。

● 建议构建辅助函数或将处理合并到最低应用程序层中。

● 避免不必要的冲突:

● 设计应用程序时尽量减少不必要的冲突,从而减少重试。

● 更新不同行的事务可以同时提交而不会发生冲突。

● 内部分片和扩展:

● DSQL 自动在内部进行分片,以应对 Adjudicator 和 Journal 上增长的负载。

● 查询处理器直接提交到适当的分片。

● 优化的两阶段提交确保跨多个分片的原子事务。

● DSQL 通过使新节点在线并跨副本进行负载平衡来自动横向扩展。

● DSQL 中的副本始终保持高度一致,从而实现无缝扩展。

● DSQL 的一致性:

● DSQL通过基于时间的同步协议确保强一致性。

● 使用 EC2 时间同步服务提供微秒级精确的时间戳,并使用 Clockbound 库来纠正测量误差。

● 保证线性化时间戳始终位于任何先前提交的时间戳之后。

● 存储层在返回数据行前等待 Journal 更新,以确保一致性。

两阶段提交 (2PC) 协议概述

● 2PC 是一种分布式系统协议,确保事务中的所有参与者一起提交或中止。

● 它由两个阶段组成:准备和提交/中止。

● 第一阶段:准备阶段:

● 协调器向所有参与节点发送“准备”请求。

● 每个参与者执行事务的工作,获取必要的锁,并将“准备好的”记录写入其事务日志。

● 参与者将“是”或“否”票发送回协调员。

第 2 阶段:提交/中止阶段

如果所有参与者都投“是”

● 协调者将“提交”记录写入其日志,并向所有参与者发送“提交”消息。

● 参与者提交事务、释放锁并向协调者发送确认。

● 如果任何参与者投“反对”票:

● 协调者将“中止”记录写入其日志,并向所有参与者发送“中止”消息。

● 参与者回滚事务并释放所有锁定。

● 关键考虑因素: 原子性:

● 2PC 保证事务是原子的,要么在所有节点上完成,要么在所有节点上完全失败。

● 一致性:

● 确保多个节点之间的数据一致性,但可能会因阻塞和等待决策而影响可用性。

● 故障处理:

● 包括从故障中恢复的机制;协调器故障可能会导致需要手动干预的“不确定”状态。

DSQL 中的连接管理

● 与 DSQL 的连接由会话路由层管理。

● 确保连接的快速可用性,即使在网络事件导致波动期间也是如此。

● 维护一个可供立即使用的查询处理器 (QP) 热池。

● 当请求连接时,DSQL 从池中分配可用的 QP。

● 处理连接失败:

● 如果发生连接失败,应用程序必须检测失败并重试。

● 乐观并发控制部分的重试处理程序对于此目的很有用。

● 应用程序应该针对连接错误实现重试逻辑,以保持可用性。

● 与存储和 Adjudicator 故障不同,连接失败后应用程序必须自行重新连接。

● DSQL 强制连接的最大生命周期为 1 小时,以鼓励正确的连接管理。

● 连接管理的最佳实践:

● 使用客户端连接池库(例如,Java C3PO)进行健康检查和最大连接期限。

● DSQL 本质上包含连接池,从而不需要服务器端池(例如 PG Bouncer、RDS Proxy)。

● 建议连接到同一可用区中的 QP 以降低延迟。

● 如果当前可用区不可用,DSQL 会自动故障转移到健康可用区。

DSQL 中的多区域集群

● DSQL支持多区域集群,即在两个区域创建集群,并指定第三个区域作为见证区域。

● 见证区域持有 Journal 的副本,以支持应对区域故障的基于法定人数的协议。

● 应用程序可以跨区域保持活动状态,两个区域都能够处理读取和写入。

● 基于仲裁的协议

● 是分布式系统中使用的一种方法,通过要求最少数量的参与节点(仲裁)在操作被认为有效之前就该操作达成一致来确保数据一致性、容错性和可靠性。

● S3 基于仲裁的协议:

● 在分布式系统中,“法定人数”是指“组成会议所需的最少成员数量”。

● Quorum机制是一种投票算法,用于保证Amazon S3等分布式存储系统中的数据冗余和一致性。

● 核心概念和术语:

● 阅读法定人数(Vr):阅读投票的最低数量

● Write Quorum (Vw):最小写入投票数

● 总票数(五)

● 工作原理:

● 假设分布式系统中有V个数据副本。

● 为了保证数据的一致性,读写操作必须获得节点确认的“法定人数”。

● 核心规则:

● Vr + Vw > V:保证同一数据不会同时读写,避免读写冲突。

● Vw > V / 2:确保串行数据修改,防止两个写操作同时修改数据。

● 调整Vr和Vw可以让系统在读写性能之间取得平衡。

● 关于Amazon S3:

● Amazon S3在2020年宣布所有GET、PUT、LIST操作都具有强一致性。

● 写入的数据可以立即读取为最新版本,简化大数据工作负载。

● S3通过其架构保证高持久性和可用性,该架构在至少三个可用区存储数据副本。

处理区域故障

● 如果发生区域故障(例如,区域 B 发生故障),见证区域会帮助消除故障的歧义,并投票将故障区域排除在法定人数之外。

● DSQL 自动重新配置 Journal 以排除故障区域,确保集群在正常区域(区域 A)中保持可用。

● 没有数据丢失,并且事务继续复制到至少一个其他 AWS 区域。

● 当故障区域(区域 B)重新上线时,DSQL 会检测到它,将其更新到最新状态,并恢复多区域配置。

● 推荐模式:在两个区域中与集群一起部署应用程序以实现主动冗余。

● 主动冗余的好处:

● 在多个区域中与集群一起部署应用程序可提供低延迟和应用程序功能的持续验证。

● 使用全局端点(例如,Route 53 DNS 记录)将流量引导至最近的可用健康区域。

● 使用全局端点处理区域故障:

● 当区域出现故障时,数据不会丢失,DNS会自动将流量引导至健康区域。

● 持续验证可确保健康区域正常运行。

● DSQL维护:

● DSQL 是一项完全托管的服务,无需客户进行维护。

● 查询进程定期替换为更新版本,确保最新的 OS、安全补丁、性能改进和功能。

● 客户无需执行任何维护任务。

● 要点:

● Aurora提供三种引擎:PostgreSQL、MySQL、DSQL。

● 所有引擎均提供 3 AZ 开箱耐用性。

● 扩展选项有所不同:APG 和 AMS 扩展用于写入,扩展用于读取; DSQL 提供免提自动缩放功能。

● 多区域考虑:APG和AMS允许测试故障转移而不会丢失数据; DSQL支持跨区域双活。

● 所有引擎都通过自动安全更新和次要版本升级提供轻松维护。