我应该选择哪种 Elastic Beanstalk 环境?
What Elastic Beanstalk Environment should I choose?
我的工作是将我们现有的 java 计算(servlet 作为 WAR 文件)从我们自己的服务器转移到 AWS。这是一个没有用户界面或数据库的计算。其他公司应该能够在他们的程序中调用计算。 servlet 接受一个带有 Json 负载的 post 请求,并且响应在执行计算后将 Json 负载发送回客户端。计算量比较大,比较耗时(1-2秒)。
我已决定将 AWS Elastic Beanstalk 用于云计算,但我不确定要使用哪种 EB 环境 - 服务器环境还是工作环境?如果我应该在 EB 前面使用 AWS API 网关?
希望有人能为我澄清一下。
Worker 环境生成一个 SQS 队列,您可以在其中提交作业。要从 AWS 外部启用对其的访问,您必须在其前面加上 API Gateway(首选方式)。
但是,worker 环境以异步方式工作。它不会 return 工作结果给调用者。您需要为您的客户提供一些其他机制来取回结果,例如虽然不同 API 调用。
另一种选择是 Web 环境,其中客户端直接从您的 json 处理应用程序获取响应。 1-2 秒对于等待 HTTP 请求来说不算长。
对于基于 EB 的更复杂的解决方案,可以查看 Creating links between Elastic Beanstalk environments。您将为您的客户提供一个前端环境,该环境与执行 json 作业处理的工作环境相关联。
另一种方法是将应用程序重写为 lambda,当然如果可能的话。 Lambda 似乎非常适合 1-2 秒的处理任务。
我的工作是将我们现有的 java 计算(servlet 作为 WAR 文件)从我们自己的服务器转移到 AWS。这是一个没有用户界面或数据库的计算。其他公司应该能够在他们的程序中调用计算。 servlet 接受一个带有 Json 负载的 post 请求,并且响应在执行计算后将 Json 负载发送回客户端。计算量比较大,比较耗时(1-2秒)。
我已决定将 AWS Elastic Beanstalk 用于云计算,但我不确定要使用哪种 EB 环境 - 服务器环境还是工作环境?如果我应该在 EB 前面使用 AWS API 网关?
希望有人能为我澄清一下。
Worker 环境生成一个 SQS 队列,您可以在其中提交作业。要从 AWS 外部启用对其的访问,您必须在其前面加上 API Gateway(首选方式)。
但是,worker 环境以异步方式工作。它不会 return 工作结果给调用者。您需要为您的客户提供一些其他机制来取回结果,例如虽然不同 API 调用。
另一种选择是 Web 环境,其中客户端直接从您的 json 处理应用程序获取响应。 1-2 秒对于等待 HTTP 请求来说不算长。
对于基于 EB 的更复杂的解决方案,可以查看 Creating links between Elastic Beanstalk environments。您将为您的客户提供一个前端环境,该环境与执行 json 作业处理的工作环境相关联。
另一种方法是将应用程序重写为 lambda,当然如果可能的话。 Lambda 似乎非常适合 1-2 秒的处理任务。