AWS处理大笔交易的最佳方法

问题描述 投票:0回答:1

我正在编写一个具有大量事务的系统,CRUD,并且我正在使用AWS。鉴于所有数据均不应丢失,我必须牢记哪些注意事项?

我已经进行了一些研究,他们说使用SQS队列来确保数据不会丢失。我还应考虑其他哪些备份,冗余,快速处理注意事项?

amazon-web-services high-availability
1个回答
0
投票

因此,如果您要创建一个高度弹性的系统,同时又要冗余,我建议您阅读AWS Well Architected Framework。这将详细介绍一个人可以在堆栈溢出时提供的信息。

关于个别技术:

  • 如果您像您所说的那样具有事务性,那么应该考虑使用关系数据存储来存储数据。我建议您看一下Amazon Aurora,它具有一些内置功能,例如自动缩放只读和多主机支持。尽管您可能期望数量众多,但是使用自动缩放功能只会为您使用的内容付费。
  • 尝试解耦您的API,如果可以帮助您,请先将其哑巴验证层,然后再移交给后端。当与Lambda结合使用时,像SQS之类的技术(如前所述)有助于解耦。
  • SQS至少保证一次,因此,如果您的系统不应该重复写入,您将需要考虑应用程序中的幂等性。
  • 还使用死信队列(DLQ)处理任何失败的操作。
  • 确保VPC中存在的所有资源都分布在可用性区域中。
  • 使用S3,EC2备份管理器和RDS快照以确保备份数据。大多数其他服务都可以启用某种备份功能。
  • 尽可能使用自动缩放以确保降低成本。
  • [使用IaC工具(CloudFormation或Terraform)构建任何基础架构,并通过诸如(Ansible,Puppet,Chef)之类的工具进行资源配置。尝试遵循预先烘焙的AMI工作流程,以确保可以快速返回到基本服务器状态。
© www.soinside.com 2019 - 2024. All rights reserved.