Я изучал этот проект, потому что идея о том, что вся система представляет собой набор функций лямбда, кажется очень привлекательной. На самом деле, несколько лет назад я написал некоторое программное обеспечение, которое делает почти то же самое, что и MoonMail, и оно должно быть обновлено по мере изменения некоторых спецификаций. Я оцениваю перенос своего программного обеспечения на Лямбду или просто адаптирую вещь для использования MoonMail.MoonMail Lambda architecture with Serverless
У меня есть следующие вопросы:
В моих тестах с использованием бессерверного, я заметил, что, когда я изменил имя ресурса (например, имя таблицы DynamoDb) и перераспределен, не было никакого предупреждения, и старый стол и его содержимое было уничтожено. Я думаю, что простая ошибка, как дополнительный символ в файле конфигурации, приводящая к удалению всех данных в базе данных, довольно рискованна. Как вы справляетесь с такой проблемой?
Что касается отправки электронной почты через SES. Как вы обрабатываете дросселирование, когда вы достигаете лимита отправки для определенной учетной записи? Вы выполняете экспоненциальные отсрочки? Я не могу найти это в базе кода. Я буду очень благодарен, если вы можете указать мне в общей области репо, где это происходит.
@julian в отношении вопроса о регулировании, когда он превышает скорость отправки, мы просто сохраняем электронную почту в очереди, и это будет автоматически повторяется до тех пор, пока очередь не будет пуста (см. подробнее [здесь] (https://github.com/microapps/MoonMail/blob/master/events/lib/send_email_service.js#L134)). Если мы нажмем дневной лимит, мы просто прекратим процесс отправки, так как квота не будет восстановлена до следующего дня, но мы проверим некоторые проверки перед отправкой кампании, чтобы избежать ее. – davids