如何在AmazonAWS上使用自动缩放和负载平衡器设置Java应用程序(tomcat和mysql)?
我目前的情况是,我有一个基于Struts 2.0构建的JavaEE应用程序,运行在tomcat+mysql服务器上。该应用程序目前托管在虚拟专用服务器上,具有2GB RAM和60GB磁盘。但是,在高峰时段,应用程序的使用量增加了10到20倍,导致Tomcat和MySQL服务器崩溃 我开始寻找替代方案,并发现亚马逊的EC2是最好的匹配。我已经成功地设置了RHEL AMI的免费层微实例,并在机器上安装了Tomcat+MySQL。我还在亚马逊网站上读到了关于EBS、负载均衡器、自动缩放、云观察和相关的东西 这是我想通过AWS实现的主要目标:如何在AmazonAWS上使用自动缩放和负载平衡器设置Java应用程序(tomcat和mysql)?,java,mysql,tomcat,amazon-web-services,amazon-ec2,Java,Mysql,Tomcat,Amazon Web Services,Amazon Ec2,我目前的情况是,我有一个基于Struts 2.0构建的JavaEE应用程序,运行在tomcat+mysql服务器上。该应用程序目前托管在虚拟专用服务器上,具有2GB RAM和60GB磁盘。但是,在高峰时段,应用程序的使用量增加了10到20倍,导致Tomcat和MySQL服务器崩溃 我开始寻找替代方案,并发现亚马逊的EC2是最好的匹配。我已经成功地设置了RHEL AMI的免费层微实例,并在机器上安装了Tomcat+MySQL。我还在亚马逊网站上读到了关于EBS、负载均衡器、自动缩放、云观察和相关的
- 在Amazon上设置两个EC2实例(主要和次要)
- 辅助实例将在一天中的大部分时间处于非活动状态
- 在高峰时段,辅助实例应自动唤醒
- 然后,负载平衡器将根据可用性开始将流量路由到两台服务器
- 流量减少后,辅助服务器应自动停用
- 如何在两个EC2实例之间共享MySQL数据?我是否可以在EBS卷上安装MySQL,并同时在两个EC2实例上装载此卷?这会解决我现有的MySQL问题吗:太多的连接,我在高峰时间在我当前的VPS上得到很多
- 如何在两个EC2实例上共享上载的文件和图像?我是否必须将这些文件存储在外部EBS卷上(在Tomcat WebApps目录之外)
- 我是否可以将完整的项目文件夹保存在外部EBS卷中,并让两个EC2 tomcat实例进行虚拟映射?请让我知道它的利弊
另外,一些关于在EC2上集群tomcat、会话管理、AWS自动伸缩和负载平衡器的好教程也会很有帮助。好吧,我还没有真正构建AWS结构的经验,但我会尽力提供帮助 1) 您不能通过EC2实例共享EBS卷,您必须使用web服务或RDS来实现此方案。。。也许在您进行更改时,为更好的实例多付一点钱会更容易,而且,负载平衡器会在您的系统上增加一点费用,请使用aws计算器检查它是否值得 2) 对于我建议您使用S3的文件,api非常简单,没有技巧,速度很快,而且比在EBS上存储图像便宜得多,只需将链接保存在数据库中,您就可以随时随地访问 3) 正如我在第一篇answear中提到的,您不能共享EBS卷,因此,您将需要两个equals实例 另外,请查看此选项: 这是一个在aws开始任何事情的非常简单的方法