【问题标题】:Can AWS API Gateway send requests to an Elastic Beanstalk Worker EnvironmentAWS API Gateway 能否将请求发送到 Elastic Beanstalk 工作线程环境
【发布时间】:2020-10-01 01:57:51
【问题描述】:

有人知道是否可以将 AWS API Gateway 与 Elastic Beanstalk Worker Environment 一起使用以及如何配置它?

我想通过 AWS API Gateway 向 Elastic Beanstalk Worker Environment 发出带有 json 内容的 post 请求,该环境进行一些业务计算(持续时间约为 1-2 秒)并发回响应。

我希望有人能给我一些意见。

谢谢。

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk aws-api-gateway


    【解决方案1】:

    很遗憾,EB 工作程序环境不像常规 HTTP API 那样工作。与您可以发布 JSON 内容并从其处理中获取结果作为响应的 HTTP 端点不同,它公开了一个 SQS 队列

    因此,在您的用例中,API 网关必须与 SQS 队列集成。例如,这里描述了这种集成:

    但是,处理结果不会返回给您。相反,SQS 队列将返回 200 条代码,表明它收到了消息。因此,作为客户端,您只会得到确认 json 有效负载已提交到 SQS 队列,而不是 json 有效负载已由 worker 处理。

    原因是工作环境异步处理这些消息。工作环境必须将处理结果存储在某处(例如 DynamoDb),并且您必须有一个机制来查询结果。例如,第二个 API 调用来检查您的消息是否已经基于某个唯一的message_id 进行了处理。

    【讨论】:

    • 嗨,Marcin,感谢您的回复。然后我应该选择其他解决方案,例如 AWS API Gateway -> EC 实例还是...以及负载平衡等呢?
    • @ABCit 是的,ec2 或负载均衡器将在处理消息快速的条件下工作。顺便说一句,如果我的回答有帮助,我们将不胜感激。
    • 我可以为此使用 Elastic Beanstalk Web 服务器环境吗?
    猜你喜欢
    • 2021-09-29
    • 2017-05-23
    • 1970-01-01
    • 2017-12-27
    • 2015-08-05
    • 2014-12-09
    • 2019-09-16
    • 2020-01-11
    • 2021-12-11
    相关资源
    最近更新 更多