Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在AmazonAWS上使用自动缩放和负载平衡器设置Java应用程序(tomcat和mysql)?_Java_Mysql_Tomcat_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

如何在AmazonAWS上使用自动缩放和负载平衡器设置Java应用程序(tomcat和mysql)?

如何在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、负载均衡器、自动缩放、云观察和相关的

我目前的情况是,我有一个基于Struts 2.0构建的JavaEE应用程序,运行在tomcat+mysql服务器上。该应用程序目前托管在虚拟专用服务器上,具有2GB RAM和60GB磁盘。但是,在高峰时段,应用程序的使用量增加了10到20倍,导致Tomcat和MySQL服务器崩溃

我开始寻找替代方案,并发现亚马逊的EC2是最好的匹配。我已经成功地设置了RHEL AMI的免费层微实例,并在机器上安装了Tomcat+MySQL。我还在亚马逊网站上读到了关于EBS、负载均衡器、自动缩放、云观察和相关的东西

这是我想通过AWS实现的主要目标:

  • 在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开始任何事情的非常简单的方法