我们遇到了这样一种情况,即应用程序托管在专用服务器上,我们预计流量可能会激增。应用程序的主要瓶颈是 MySQL,它需要大量读写。虽然我们有多个级别的缓存,但仍然担心 MySQL 可能会因流量过大而崩溃。我们无法实施大规模的架构更改,而这些更改是实施负载平衡器和复制等功能所必需的。理想情况下,我们希望尽可能不改变架构,这主要是因为流量绝对无法保证,因此成本最终可能会超过要求。我想到的一个可能性是将数据库完全从该服务器上移出,并将其放在 Amazon RDS 上。这将使我们能够以经济高效的方式进行扩展,但并不意味着我们会一直使用可能不需要的昂贵软件/硬件。真的不确定这种方法是否是个好主意,因此非常感谢大家提出任何想法/问题/指示。
答案1
除非你计划将整个堆栈迁移到 AWS(这将确实由于这在我看来算作一次“大规模的架构变革”),在 RDS 中运行数据库是没有意义的——您从中获得的任何好处都会被查询延迟的增加所抵消(这反过来会导致用户可见的性能问题)。
另外,请注意,RDS 实际上只不过是一个由其他人完成基本设置的 MySQL 实例。如果您希望它的性能优于本地 MySQL 实例,则无论如何都需要复制实例并对应用程序进行相同的架构更改。
基本上,考虑到你的限制,你完蛋了。你正在寻找一个不存在的快速解决方案(TANSTAAQF)。我可以看到很多摆脱你困境的方法,但它们都会违反你的“大规模架构变更”法令(其中大多数实际上并没有那么大规模,但它们都会花费某物,特别是当你在尝试学习如何做这件事的同时实际执行它时)。祝你好运。