В AWS Lambda произошла периодическая ошибка 502 или 504 (истекло время ожидания запроса конечной точки) - PullRequest
0 голосов
/ 25 января 2019

Я столкнулся с какой-то странной периодически возникающей проблемой '502' и '504' в моем AWS API

Описание / поток:

  1. Кто-то называет мой API "pet".
  2. API «pet» вызовет лямбда-функцию «pet», которая вызовет другой API, который называется «petDetails».
  3. API «petDetails» вызовет лямбда-функцию «petDetails».
  4. Время ожидания лямбда-функции "petDetails" по неизвестной причине.

Лямбда-функция petDetails

console.log("Lambda-LibraryLoading");

const Promise = require("bluebird");
const AWS = require('aws-sdk');
var lambda = new AWS.Lambda();

console.log("Lambda-LibraryLoaded");


exports.handler = async function(event, context, callback) {

    console.log("Lambda-FunctionStart");

    console.log(JSON.stringify(event));
}

petDetails регистрирует в AWS Cloudwatch

START RequestId: b0d14e3b-3f2b-4094-8b6c-5bec1e034f35 Version: $LATEST

END RequestId: b0d14e3b-3f2b-4094-8b6c-5bec1e034f35

REPORT RequestId: b0d14e3b-3f2b-4094-8b6c-5bec1e034f35  Duration: 30030.19 ms   Billed Duration: 30000 ms Memory Size: 1536 MB  Max Memory Used: 88 MB  

1 Ответ

0 голосов
/ 25 января 2019

Время ожидания лямбда-функции по умолчанию равно 3 с, вы можете увеличить его в консоли aws. Эта проблема, которая занимает слишком много времени при первом запуске, называется холодный запуск .

вы можете избежать 500 с

  1. Не слишком много последовательных вызовов, поэтому время запроса меньше
  2. увеличение времени ожидания лямбда-функции
  3. поддержание лямбда-функции с помощью проверок работоспособности.

Все это только обходные пути, и время отклика у вас все еще будет высоким, и вам следует пересмотреть свой дизайн.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...