Рубрики
Uncategorized

Очены AWS и обработка лямбда: Простое, быстрое прохождение.

Вы когда-нибудь задавались вопросом, какая очередь или как вы могли бы реализовать очередь в AWS? Возможно, вы … помечены с DevOps, Облако, Безверенным, AWS.

Вы когда-нибудь задавались вопросом, какая очередь или как вы могли бы реализовать очередь в AWS? Возможно, вы рассматриваете использовать очередь для решения, над которым вы работаете, но вы не уверены, как кусочки вписываются?

Если это ты — ты в нужном месте! Сегодня мы удалим мистику очередей в AWS. Но как мы удалим мистику? Прогуляя пошаговый шаг для того, чтобы настроить очередь SQS и использовать лямбда для ее обработки.

К концу этой статьи вы поймете, какую очередь, почему вам может понадобиться один и как настроить один UP SQS и Lambda.

Что такое очередь?

Первое место, которое мы начнем, касается вопроса: что такое очередь, и почему нам нужно один? Итак, давайте пойдем вперед и определим очередь.

Очередь — это программный компонент, который позволяет легко обрабатывать большие объемы данных. Сообщения выталкиваются на очередь производителями, и они затем подбираются по очереди потребителей на скорости, которая имеет смысл для потребителя.

Но почему нам понадобится это поведение в первую очередь?

Почему нам может понадобиться очередь?

Давайте рассмотрим идею очередей с реальным примером.

Представьте, что у вас есть некоторая работа, которая будет обработана, но работа не является критической. Допустим, это производит конец месяца отчетов для внутренней бизнес-функции, как финансы. Отчеты не читаются сразу, поэтому система не должна сразу обрабатывать все.

Лямбда диаграмма

Чтобы сэкономить немного денег, архитектура настроена на использование экземпляров Spot EC2. Спочные экземпляры EC2 запускаются и прекращаются на основе их текущей цены продажи. Спочные экземпляры просто позволяют AWS продавать неиспользуемые зарезервированные машины со скоростью дисконтирования, чтобы избежать в использовании. Но, одна большая недостаток с точечными экземплярами состоит в том, что они могут быть прекращены в любой момент.

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

Хорошо, поэтому, если это начинает иметь смысл, давайте сделаем его еще один шаг вперед и добавьте что-то ощутимое в наш разговор. Давайте поговорим о том, как мы можем реализовать базовую систему очередей в AWS. Для простоты Sake давайте будем использовать AWS SQS и Lambda для нашей очереди и нашего потребителя, и мы вручную создаем сообщения.

4 вещи, которые вам нужны для SQS и лямбда

Для установки Basic AWS Lambda и SQS нам нужны четыре вещи. Также для простоты, ради которого я собираюсь предположить, у вас уже есть установка лямбда.

Что нам понадобится:

  1. Очередь SQS — Наша очередь SQS будет целью для наших сообщений.
  2. Лямбда триггер На нашей очереди — Нам нужно сказать, что лямбда является потребителем.
  3. Лямбда триггер для получения сообщений SQS — Нам нужно будет рассказать лямбда, что это может быть вызвано SQS.
  4. Обновленная политика Lambda IAM — Нам нужно будет обновить разрешения на лямбда, чтобы получить данные SQS.

Это дает нам высокоуровневую картину того, что нам нужно, теперь давайте погрузимся в детали каждого из этих шагов. Для каждого шага я покажу вам конфигурацию Terraform, которая идет с этой инфраструктурой, а также выглядит скриншотом того, как выглядит созданный ресурс.

1. Создать очередь SQS

Во-первых, давайте настроим нашу очередь. Чтобы создать это, все, что нам нужно, это имя. Есть несколько других вариантов нашей очереди SQS, такие как мы хотим ли мы, чтобы сообщения были обработаны по порядку, но нам не понадобится никаких из этих вариантов на сегодня. Как только ваша очередь создана, вы должны увидеть что-то вроде этого …

Пример кв

Теперь, когда у нас есть наша очередь, которая великолепна, но не очень полезна, если никто не использует данные, нажатые к нему, нам нужно настроить потребителя для получения сообщений из очереди.

2. Запустить лямбда на сообщение для SQS

Чтобы позволить нашему лямбду вызвать от SQS, нам нужно создать отображение источника событий. Наше сопоставление источника событий в этом случае также контролирует количество сообщений, которые поставляются сразу. Мы можем либо потребовать потреблять только одно сообщение одновременно или несколько. С нашей настройкой триггера мы должны увидеть следующее …

SQS лямбда вызывает

Теперь с нашей настройкой очереди очереди SQS и нашей настройкой триггера Lambda, завершающие настройку SQS, но мы не закончили! Нам все еще нужно редактировать нашу лямбда двумя способами убедиться, что SQS может достичь его.

3. Создать триггер лямбда

Первое, что вам нужно изменить о вашем лямбде, — это обеспечение того, чтобы у него было разрешение, которое будет вызываться из SQS. Для этого вам нужно добавить разрешение на лямбда, которое позволяет призывать конкретные SQ. Когда наша лямбда обновляется, мы должны увидеть следующий триггер …

SQS Lambda Trigger

4. Создать разрешение лямбда

Наконец, для того, чтобы работать с SQS, наши потребители нуждаются в трех разрешениях, чтобы позволить ему делать то, что нужно. Нам нужно иметь возможность получить информацию о очереди, получать сообщения и удалять сообщения после того, как мы закончим обработку. Поэтому мы должны обновлять нашу политику IAM, которая прилагается к нашей лямбдам. В нашем примере мы добавляем непосредственно к нашей политике IAM. При добавлении ваша политика должна выглядеть что-то подобное …

IAM LAMBDA SQS.

И это так! Это все, что вам нужно обрабатывать сообщения от SQS, используя AWS Lambda. Давайте пойдем вперед и проверим нашу работу, чтобы увидеть, что все работает, как ожидалось.

Тестирование наших SQS и лямбда вызов

Чтобы поставить сообщение на нашу очередь SQS, мы можем сделать это в интерфейсе SQS. Щелкните правой кнопкой мыши на очереди SQS и выберите «Отправить сообщение». Подсказка сообщений должно выглядеть так …

SQS сообщение

Если наша LAMBDA установлена для регистрации нашего мероприятия, мы должны затем увидеть его в нашей консоли CloudWatch, и мы видим, что все работает, как ожидалось.

SQS logs lambda журнал событий

SQS и лямбда: вверх и бега!

И это завершает сегодняшнюю статью! Теперь вы должны знать основы создания асинхронной архитектуры, используя SQS и AWS Lambda.

Асинхронные архитектуры приносят большую власть и сложность, но отличный инструмент в вашем арсенале для правильной ситуации.

Я надеюсь, что это прояснило некоторые из мистики вокруг того, что такое очередь и как она работает в AWS. И я надеюсь, что это делает все это немного менее страшно!

Говорите в ближайшее время, облачный родной друг!

Пост Очены AWS и обработка лямбда: Простое, быстрое прохождение. появился первым на DEV тренер Отказ

Лу — редактор Облако нативное программное обеспечение Инженерное рассылка Информационный бюллетень, посвященный созданию облачного программного обеспечения.

Оригинал: «https://dev.to/loujaybee/aws-queues-and-lambda-processing-a-simple-quick-walkthrough-3gmk»