-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Trenutna implementacija
Trenutno aplikacija direktno šalje mejlove iz Flask web-api aplikacije.
Sva logika slanja mejlova nalazi se unutar glavne aplikacije i izvršava se tokom HTTP zahteva.
Problem
Centralizovano slanje mejlova u glavnoj aplikaciji dovodi do sledećih problema:
-
HTTP request čeka završetak slanja e-maila → povećana latencija
-
Slanje mejlova nije asinhrono
-
Teško je skalirati samo mejl funkcionalnost
-
Kod postaje monolitan, ne postoji separation of concerns
Zadatak
Implementirati posebnu Email Service aplikaciju koja će biti odgovorna isključivo za slanje mejlova. Glavna Flask aplikacija neće direktno slati mejlova već će slati poruke putem message brokera.
-
Kreirati novu aplikaciju "Email Service" koja je Python Flask. Servis treba da sluša poruke iz
message brokerai šalje mejlove. -
Postaviti
message brokerkao Docker container. Predlog je da to bude RabbitMQ.
Glavna aplikacija → publish poruke
Email Service → subscribe / worker koji obrađuje poruke