我正在建立一个客户端的web前端的MySQL数据库。客户和他们的员工每天都会使用这个webapp,每年创建的记录从几千条到几十万条不等。我刚刚挑选了第二个客户,他希望拥有相同的产品,并且每年可能会创建相同数量的记录,可能会更多。
我希望将来能有更多的客户。在接下来的几年里,我可能会有多达5个数据库和web前端为5个不同的客户端运行,所有这些客户端都需要严格的安全性,同时每年可能创建数百万条记录(在所有数据库中累积)。
我想用亚马逊的EC2服务来运行所有这些,但是我很难决定运行什么类型的实例。我不确定我是应该有几个不同的Linux实例,每个客户端一个,还是应该运行一个“大”实例来管理所有客户端的数据库和web前端。
我知道硬件配置对于手头的任务来说是非常特殊的。web前端将使用JQuery来使MySQL查询变得“漂亮”,而我可能会对数据进行一些绘图(同样使用JQuery)。前端将使用SSL进行安全保护,据我所知,这会增加一些网络速度开销。
我在寻找你对这种情况的一些想法。
谢谢
发布于 2011-07-12 20:36:32
使用可用的工具。Amazon RDS service允许您在云中运行MySQL数据库,而不需要额外的工作。您可以根据需要扩展和缩小它-从小的开始,然后当您达到极限时,添加额外的容量(以额外的成本)。
接下来,使用带有SSL证书的Elastic Load Balancing (ELB),这样就可以将SSL解密的开销卸载给Amazon服务。
如果你在你的webapp中使用Java,你可以使用Elastic Beanstalk来为你处理整个托管过程。
不要害怕尝试-您总是可以在不丢失数据的情况下调整实例的大小(如果它们从EBS卷启动),并且您总是可以创建和删除实例。水平扩展通常比垂直扩展更好,因为您可以将实例分散到多个可用区。
祝好运!
https://stackoverflow.com/questions/6628167
复制相似问题