亚马逊提示

时间:2013-01-03 10:32:51

标签: mongodb amazon-web-services tomcat7 elastic-beanstalk amazon-elasticache

我必须为Web应用程序设置服务器环境。我必须使用aws,到目前为止它看起来很好。

我需要:

  • 可扩展的Tomcat 7 webapp服务器
  • 会话复制!
  • mongodb数据库集群(?)

据我认为可以使用:

  • 可扩展的Tomcat 7我可以轻松使用弹性beanstalk。
  • 会话复制可以与elasticache一起使用
  • 好像我已经“手动”完成了mongodb群集,所以我创建了一些ec2实例。所以。

我遇到了一些问题。

  1. 成本会很高。最小设置为2个ec2实例,一个用于弹性
  2. 唯一一个自动缩放的东西,就是弹性豆茎,意味着我也要照顾它。 (好吧,对于mongodb实例,我也可以使用平衡器)
  3. 如果是mongodb ec2实例,我需要自己设置每个实例
  4. 你知道如何:

    • 降低成本(特别是在开始时,它会有点多,不是吗?)?
    • 使管理更容易吗?

3 个答案:

答案 0 :(得分:2)

如果您安装了mongo,请查看:AWS_NoSQL_MongoDB.pdf。将副本集的一个成员设置在您使用的可用区之外,或者甚至在同一区域之外,这是非常习惯的,因此您可以在发生故障时进行热备份。

关于价格 - 实验(负载测试)并找到适合您的较小实例类型。另外,请记住关闭未使用的实例

关于管理 - 有AWS控制台和许多第三方产品。此外,Netflix have released some nice management tools

答案 1 :(得分:1)

使用Elastic Beanstalk可以轻松完成Web服务器的自动调节,但您可以单独使用它。在此处查看自动缩放的文档:http://aws.amazon.com/autoscaling/

它有几个功能可以帮助您节省大部分计算成本;

  • 一种是通过根据您的负载自动更改您正在使用的Web服务器的数量来扩展(最重要的是)的能力。您可以定义最小数量(例如,1)和最大数量。系统可以查看一组指标(请求数,CPU负载......)并决定何时添加或减去实例。
  • 第二种是根据您的使用情况更改比例政策并增加或减少机器的尺寸的功能。如果您发现它更具成本效益,您可以使用中等大小的实例并切换到大型或超大型实例。我们鼓励您尝试不同尺寸,以确定最适合您的尺寸。

使用Elastic Cache,既可以帮助您进行会话复制,也可以降低数据库计算机上的负载。您可以在那里缓存频繁的查询输出(首页,主类别页面......),并获得更好的性能,并使用更少的数据库实例。它支持Memecached客户端,几乎可以用任何编程语言轻松开发。

您应该检查Couchbase而不是MongoDB(请参阅comparison)。它在规模上更强大,更可靠。

答案 2 :(得分:0)

Elastic BeanStalk是减少Web / App服务器管理负担的最佳选择。但是,如果没有进行太多的开发,我建议使用DynamoDB作为管理缓和方面。

然而,还要检查成本。性能和管理在DynamoDB中非常棒