目标是尽可能多的冗余,以便我们可以快速恢复实例失败或任何其他问题。 我们现在运行的Rails WebApp的AWS设置如下:
任何人有任何build议,使这更强大? (我们几乎被裤子夹住,不想再发生这种事情)
您也可以运行多个EC2实例并在它们之间进行负载平衡。 另外,如果它不在那里,你的正常运行时间应该高于99.99%。 从我所了解的情况来看,单个EC2实例的正常运行时间大约为99.95或99.5%,负载均衡,火箭达到99.99%或更高,通常达到99.999%+的范围。 无论哪种方式,也可以帮助…
…另一个想法是离开一个EC2热插拔。 还可能保持一个RDS存储库热插拔,以防万一生产副本损坏或一些这样的问题。
…和另一个想法,保持一个EC2实例引导与MySQL,作为最后一个紧急副本,如果有什么与RDS副本。
…以及最后的想法,在Rackspace或其他RoR友好的云主机等次云中运行热插拔或负载均衡 – 或热插拔和负载均衡的云托pipe服务。
希望有所帮助。 🙂
我想第二个,阿德龙。 如果你需要更多的可用性,那么负载均衡就是要走的路。
当然,ELB需要对configuration的应用服务器进行健康检查。
如果ELB不适合你(例如有限的吞吐量或最终一致;-)),那么看看Haproxy 。 这是一个伟大的软件。 你必须在两个独立的实例上运行它 – 我会去c1.medium或m1.smalltypes的实例。
所有组件的监视设置也非常重要。 不仅仅是为了警报,而且也是为了容量规划。
我build议你看看AWS CloudWatch或像ServerDensity这样的服务。 这取决于您想要在内部构build多less,例如,进入ServerDensity并设置监视和警报更容易,而CloudWatch需要另一个解决scheme来提取数据并分析数据,然后将其提供给警报。