AWS решение для технического стека для сайта c - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть проект, в котором я создаю простое одностраничное приложение, которому нужно извлекать данные из API только один раз в день. У меня есть бэкэнд, который я собираюсь построить с golang, где мне нужно сделать 2 вещи:

1) У меня запланированная работа, которая будет раз в день обновлять DB новыми данными.

2) Служите этим данным для внешнего интерфейса. Поскольку данные будут обновляться только один раз в день, я хотел бы cache после каждого обновления.

Поскольку число вариантов, предлагаемых AWS, немного ошеломляющее, мне интересно, что было бы идеальным решением для этого сценария. Должен ли я использовать lambda, который подключается к DB и обновляет его запланированным заданием? Должен ли я создать отдельную лямбду REST API, где я бы извлек эти данные из DB и вызвал их из внешнего интерфейса? Буду очень признателен за предложения по этой проблеме.

1 Ответ

0 голосов
/ 20 апреля 2020

Это мое предложение;

  • Создайте лямбда-функцию
    • , которая будет извлекать необходимую информацию из базы данных
    • Вы можете использовать S3 или DynamoDB для сохранения вашего контента , Оба решения могут быть бесплатными, проверьте бесплатных предложений уровня в зависимости от вашего использования
    • оно сохранит извлеченный контент на S3 или DynamoDB (вы можете проверить Dax для кеширования DynamoDB)
  • Создайте шлюз Api и интегрируйте его в свою лямбду (Elasti c LoadBalancer - другой выбор)
  • Создайте Schedule Expressions в CloudWatch для ежедневного запуска лямбды
  • Сделайте запрос от вашего внешнего интерфейса к Api Gateway или ELB.
  • Вы можете использовать Route 53 для именования доменов.

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

Редактировать:

Вот архитектура

enter image description here

Редактировать:

Если содержимое будет иметь статус c, вы можете настроить контейнер S3 для обслуживания сайта Stati c, и ваша ежедневная лямбда может записать его в там когда это срабатывает. Тогда вам больше не нужен API-шлюз и DynamoDB.

вот документация для s3 stati c content

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