我正在开展一个项目,我们将使用 ECS 来运行每个客户端的 API,它将从一个客户端开始,但最终会增长。我们还需要为每个客户端提供一个数据库,项目经理决定我们应该为每个客户端提供一个 API 和 MySQL 实例。如果我们在 MySQL 实例中使用多个数据库,情况会简单得多,但事实并非如此。
我研究过 RDS,我们无法在按需实例中拥有多个 MySQL 数据库实例,这导致每个客户端只有一个按需实例。另一方面,在 ECS 中的容器上运行每个 MySQL 实例(同时与 EFS 集成)感觉不安全,并且运行备份可能很麻烦。
在这种情况下,你会建议我做什么?谢谢!
答案1
为工作选择合适的服务。
远程数据传送系统
- 托管服务
- 自动故障转移
- 自动备份,轻松恢复
- 自动磁盘空间管理(Aurora 的情况)
- CloudWatch 中的详细性能统计数据
- 价格稍贵一些,但物超所值
EC2 上的 MySQL
- 比 RDS 便宜
- 您可以完全控制设置(您真的需要它吗?)
- 所有管理都由您负责 - 备份、恢复、故障转移等。
ECS 容器中的 MySQL
- 优点……嗯……没有?
- 缺点 - 容器不适用于存储有状态数据。EFS 的解决方法只是一种解决方法。
这底线就是说服你的项目经理,RDS 是最适合存储数据的服务。如果他担心 RDS 成本会转嫁到你的客户头上,那么你可以向他们收取“数据库服务”的固定费用,N 个客户就能覆盖 RDS 的成本,N 个以上客户就能增加你的利润。
希望有帮助:)