自动扩展 MySQL 服务器的方法?

Zil*_*llo 8 mysql scalability scalr amazon-rds

我运行的网站流量激增,因此自动缩放解决方案在这种情况下非常有利可图。目前,Web 服务器能够水平自动扩展,但瓶颈在 MySQL 服务器上。

  • 我曾尝试使用 Amazon RDS 多可用区,但 12 GB 数据库需要 15 分钟才能升级,并且有几分钟的停机时间。当我已经知道在某个特定时刻会发生流量激增时,它有很大帮助。
  • 我也考虑过 Xeround。这可能是最好的解决方案,尽管它对于这种规模的数据库来说非常昂贵。无论如何,这不是一种选择,因为我在法律上需要数据库位于欧盟。
  • 我已经阅读了有关 Scalr 的内容,但不确定这是否有帮助以及如何帮助。
  • 我已经看到许多云托管提供商提供垂直扩展解决方案,我认为它的停机时间为 0(不确定这是否真的可能,据我所知他们使用 Xen 管理程序)。这可能是一个解决方案,但我想知道它是否没有停机以及 MySQL 配置(以及操作系统上的许多其他东西)如何能够在不停机的情况下进行升级。
  • 我曾尝试使用 MySQL 从属服务器,但它根本没有帮助。
  • 我正在使用 memcache,它有很大帮助,但这还不够。我需要因为写入而升级,而不仅仅是因为读取。

有什么建议?先感谢您

gWa*_*ldo 4

实际上,一个更简单的解决方案是尝试将 Memcached 添加到堆栈中以节省数据库负载。这可以极大地节省负载,并且比尝试解决快速启动服务器(难度低),然后计算快速 MySQL 同步(难度高得多)的问题要简单得多。

http://toblender.com/?s=memcached

为了解决写入过多的问题,最常见的解决方法是向服务器添加内存(可以将更大的工作集保存在 RAM 中),将数据库放在更快的磁盘上(SSD 是一个很好的解决方案,但价格昂贵),或者分片(额外的服务器和复杂性是昂贵的)。

减少数据库写入负载的另一种方法是合并内存数据存储(例如 Redis)来处理频繁更改的数据,并在需要时定期将更改写回主数据库。