Amazon web services 我应该选择什么样的弹性豆茎环境?

Amazon web services 我应该选择什么样的弹性豆茎环境?,amazon-web-services,amazon-elastic-beanstalk,amazon-api-gateway,Amazon Web Services,Amazon Elastic Beanstalk,Amazon Api Gateway,我的工作是将现有的java计算(servlet作为WAR文件)从我们自己的服务器移动到AWS。这是一个没有用户界面或数据库的计算。其他公司应该能够在其程序中调用该计算。servlet接受一个带有Json负载的post请求,在执行计算后,响应将Json负载发送回客户端。计算相对较重,因此耗时(1-2秒) 我已经决定在云计算中使用AWS Elastic Beanstalk,但我不确定使用哪种EB环境—服务器环境还是工作环境?我是否应该在EB前面使用AWS API网关 希望有人能为我澄清这一点。工人环

我的工作是将现有的java计算(servlet作为WAR文件)从我们自己的服务器移动到AWS。这是一个没有用户界面或数据库的计算。其他公司应该能够在其程序中调用该计算。servlet接受一个带有Json负载的post请求,在执行计算后,响应将Json负载发送回客户端。计算相对较重,因此耗时(1-2秒)

我已经决定在云计算中使用AWS Elastic Beanstalk,但我不确定使用哪种EB环境—服务器环境还是工作环境?我是否应该在EB前面使用AWS API网关


希望有人能为我澄清这一点。

工人环境会生成一个SQS队列,您可以在其中提交作业。要从AWS外部访问它,您必须使用API网关(首选方式)将其前置

但是,工作环境以异步方式工作。它不会将作业结果返回给调用方。您需要为您的客户机提供一些其他机制来获取结果,例如,通过不同的API调用

另一种选择是web环境,其中客户端直接从json处理应用程序获取响应。1-2秒并不是HTTP请求等待的时间

对于基于EB的更复杂的解决方案,可以查看。您将为客户端提供一个前端环境,该环境与执行json作业处理的worker环境相链接


当然,如果可能的话,另一种方法是将应用程序重写为lambda。Lambda似乎非常适合处理1-2秒的任务。

我应该在EB Web环境前面使用API网关吗?@ABCit这不是必需的。但是,根据您的用例,您也可以使用网关来处理它。这为您提供了额外的选项,如API键、自定义节流、缓存等。如果由我决定,我将在没有API网关的情况下开始。在EB工作之后,我将重新评估添加API网关是否有益。