Zajmowałem się tym projektem, ponieważ pomysł posiadania całego systemu jako zbioru funkcji Lambda wydaje się bardzo atrakcyjny. W rzeczywistości kilka lat temu napisałem oprogramowanie, które robi to samo, co MoonMail i jest ono związane z aktualizacją, ponieważ niektóre specyfikacje uległy zmianie. Oceniam przeniesienie mojego oprogramowania do Lambdy lub po prostu adaptowanie tego, aby używać MoonMail.Architektura MoonMail Lambda z Serverless
Mam następujące pytania:
W moich testów przy użyciu Serverless, zauważyłem, że kiedy zmienił nazwę zasobu (jak nazwa tabeli DynamoDb) i przesunięta, nie było żadnego ostrzeżenia i stary stół i jego zawartość została zniszczona. Myślę, że prosty błąd, taki jak dodatkowy znak w pliku konfiguracyjnym, powodujący usunięcie wszystkich danych z bazy danych, jest dość ryzykowny. Jak sobie z tym poradzić?
Odnośnie wysyłania wiadomości e-mail za pośrednictwem SES. Jak radzisz sobie z ograniczaniem przepustowości po osiągnięciu limitu wysyłania dla określonego konta? Czy robisz wykładnicze wyprzedaże? Nie mogę znaleźć tego w bazie kodu. Będę bardzo wdzięczny, jeśli możesz wskazać mi w ogólnym obszarze repozytorium, w którym to się dzieje.
@julian w odniesieniu do pytania dławiącego, gdy przekracza on stawkę wysyłania, po prostu zatrzymujemy e-mail w kolejce, a to będzie automatycznie ponawiana, dopóki kolejka nie jest pusta (więcej informacji tutaj (https://github.com/microapps/MoonMail/blob/master/events/lib/send_email_service.js#L134)). Jeśli osiągniemy dzienny limit, po prostu zatrzymamy proces wysyłania, ponieważ przydział nie zostanie przywrócony aż do następnego dnia, ale przed wysłaniem kampanii przeprowadzamy pewne kontrole, aby tego uniknąć. – davids