Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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
如何为AmazonWeb服务重构JavaWeb应用程序?_Java_Amazon Web Services_Amazon S3_Amazon Ec2_Amazon Elastic Beanstalk - Fatal编程技术网

如何为AmazonWeb服务重构JavaWeb应用程序?

如何为AmazonWeb服务重构JavaWeb应用程序?,java,amazon-web-services,amazon-s3,amazon-ec2,amazon-elastic-beanstalk,Java,Amazon Web Services,Amazon S3,Amazon Ec2,Amazon Elastic Beanstalk,我刚刚将我的Spring应用程序从VPS提供商迁移到Amazon Web服务。所以我所做的是: 在EC2内重新部署我的应用程序, 将数据库连接从localhost:3306更改为RDS MariaDB, 为所有文件上传操作实现S3 等等。 我现在设法让我的应用程序在AWS下稳定运行 现在我需要对我的应用程序进行一些增强,然后我意识到我不能简单地在我的笔记本电脑中复制那些RDS和S3功能。所以我转向Eclipse的AWS工具包,因为它提供了良好的开发和测试体验。但我发现,制作java web应用程

我刚刚将我的Spring应用程序从VPS提供商迁移到Amazon Web服务。所以我所做的是:

在EC2内重新部署我的应用程序, 将数据库连接从localhost:3306更改为RDS MariaDB, 为所有文件上传操作实现S3 等等。 我现在设法让我的应用程序在AWS下稳定运行

现在我需要对我的应用程序进行一些增强,然后我意识到我不能简单地在我的笔记本电脑中复制那些RDS和S3功能。所以我转向Eclipse的AWS工具包,因为它提供了良好的开发和测试体验。但我发现,制作java web应用程序的大多数AWS工具包教程都是通过使用AWS Elastic Beanstalk资源完成的。我当前的应用程序未使用的

我现在的问题是:我是否必须重构我的应用程序才能使用Elastic Beanstalk?这种做法肯定不利于我。。。还是说我必须在AWS中开发java web应用程序,而不必使用Elastic Beanstalk,并且仍然使用AWS工具包的特权

请任何人谁做了这之前关心给我看一个链接或教程

问候,,
Bromo

您不必,甚至不需要使用弹性豆茎。到目前为止你所做的是完全合理的。另外,Elastic Beanstalk在本地运行方面也帮不了你。它可以帮助您在AWS上加速测试环境,但是如果您想完全在本地运行它,您仍然会遇到同样的问题

关于从本地笔记本电脑运行东西,您应该能够在本地运行数据库服务器。在本地计算机上运行应用程序时,您似乎无法让应用程序连接到本地数据库,而不是尝试连接到RDS数据库,这有什么具体原因吗


对于S3,您可以维护一组单独的代码,在本地运行时使用本地文件系统,尽管这会阻止您测试S3代码。或者,您可以设置一个测试S3 bucket,并在本地运行时将代码连接到该S3 bucket。另一种选择是在本地运行某种S3仿真器服务,例如,但我从未使用过其中的一种,因此我不能说这会有多好。

不,您不需要将应用程序迁移到Elastic Beanstalk,尽管如果您愿意,您可能会这样做。EB只是将代码部署到AWS的众多选项之一。云的优点之一是,您可以轻松地启动一个并行环境,在部署到生产系统之前在其中进行测试。当您的系统在VPS提供程序中运行时,您是如何部署生产更新的?是的。。。我知道,因为我使用EC2。。。我的问题更多的是如何使用AWS工具包来更新我的应用程序,而我的应用程序没有使用Elastic Beanstalk…有很多选项,所以你应该阅读以帮助你做出决定。从可用的最少信息来看,CodeDeploy可能是最简单和最合适的选项。我仍然有使用本地数据库和文件系统的原始代码。但是我必须维护2个版本的代码。。。我之所以想使用AWS工具包,是为了跳过那些提交到repo、从我的EC2中提取、编译然后多次测试我的应用程序。。。为了查看我的控制器或服务是否按预期工作,忽略单元测试,不应该有两个版本的代码来支持不同的数据库服务器。这应该只是更改数据库连接字符串的问题,它可能是一个环境变量。是的,正确。。我实际上使用tomcat jndi或context.xml。。。我想更多的是关于s3。。。也许我只是重构与S3相关的部分来启用1个版本的代码