Amazon ec2 使多个AmazonEC2实例写入单个数据库

Amazon ec2 使多个AmazonEC2实例写入单个数据库,amazon-ec2,Amazon Ec2,我有一个网站,周末流量很大。访问者在这个网站上做的是-他们回答测验问题并尽快提交 当javascript试图从服务器获取问题时,以及当他们试图提交到数据库时,我的服务器会获得大量流量 应用程序是使用mysql和PHP创建的。当我的访问者提交时,我希望他们能够提交到单个数据库,而不是多个数据库,因为EBS卷只能连接到一个EC2实例 流量很大,所以我需要更多的实例来支持流量高峰期间任何正在运行的实例。我该怎么做才能实现如此高的可用性,为访问者提交的所有答案提供一个单一的存储库?谢谢。您可以使用亚马逊

我有一个网站,周末流量很大。访问者在这个网站上做的是-他们回答测验问题并尽快提交

当javascript试图从服务器获取问题时,以及当他们试图提交到数据库时,我的服务器会获得大量流量

应用程序是使用mysql和PHP创建的。当我的访问者提交时,我希望他们能够提交到单个数据库,而不是多个数据库,因为EBS卷只能连接到一个EC2实例


流量很大,所以我需要更多的实例来支持流量高峰期间任何正在运行的实例。我该怎么做才能实现如此高的可用性,为访问者提交的所有答案提供一个单一的存储库?谢谢。

您可以使用亚马逊RDS。基本上,它是一个没有硬盘的实例外部的DB。您可以设置多个实例来连接到您的RDS


您还可以为水平扩展添加ec2实例,以解决流量峰值问题。

您可以使用不同的选项来扩展应用程序:

  • 如果现在所有内容都在单个实例上运行,则可以将它们分为两个实例:一个用于web服务器,另一个用于数据库。使用EC2,您可以使用安全组来允许从web服务器访问数据库
  • 如果web服务器成为瓶颈,请添加更多实例,并使用Amazon的ELB在各个实例之间实现负载平衡。您甚至可以使用自动缩放根据流量动态增加和减少运行实例的数量
  • 如果数据库是瓶颈,可以首先将其移动到更大的实例类型。您还可以将Amazon的RDS服务用于托管mysql服务
  • 为了进一步增加容量,您可以使用读取副本(如果应用程序是读取密集型的)来分配负载
  • 到上面第4点为止,您应该能够在不修改应用程序的情况下完成这一切。为了进一步扩大规模,还有几件事需要考虑:

    • 添加缓存:使用memcached或Amazon的Elasticache。这可能会带来巨大的推动
    • 移动到类似Amazon的DynamoDB,您可以根据需要轻松添加读写容量
    祝你好运