AWS Lambda & API Gateway - PullRequest
       6

AWS Lambda & API Gateway

0 голосов
/ 30 ноября 2018

В настоящее время у меня есть монолитное приложение, которое мы хотим портировать на сервер без микросервисов с использованием lamba.Как это работает сейчас, так это то, что существует только одна конечная точка http://localhost:3000/input?data=%7Btype%3A%27music%27%2Cname%3A%27Sorry%27%3A%2Cartist%3A%27justin%20bieber%27%7D.Основываясь на содержании параметра данных (оценка регулярного выражения для атрибута сообщения), мы узнаем, какую часть кода вызвать.(т.е. музыка, видео, процессор изображения).Если мы хотим разделить монолит на 3 лямбда-функции, как мы можем использовать API-шлюз для запуска этих функций на основе строки запроса данных?

Примечание. Клиентская сторона находится вне нашего контроля, и это черный ящик, который может вызывать только 1 URL в указанном выше формате.параметр данных представляет собой строку json в кодировке URL.

Каков наилучший подход?Мы рассматривали возможность написания отдельного приложения, которое передавало бы запрос к API / Lambda, но это не было бы без сервера (возможно, придется использовать EC2).Другой вариант - вызвать лямбда-функцию, которая будет декодировать параметр данных, выполнить регулярное выражение и затем вызвать соответствующую лямбду.

1 Ответ

0 голосов
/ 30 ноября 2018

Вот как мы решили проблему, подобную этой.

CloudFront -> API GW -> Lambda (анализ параметров и выполнение вызова на нужной конечной точке) -> внешний вызов Http

Это простой и масштабируемый подход.

Если вашему источнику требуется возможность отработки отказа, вы можете создать Origin Group с CloudFront и хостом lambda в другом регионе и сделать его высокодоступным.

Надеюсь, это поможет.

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