Skip to content

Izdvajanje email servisa u zasebnu aplikaciju i komunikacija putem message brokera #22

@nemanjaASE

Description

@nemanjaASE

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 brokera i šalje mejlove.

  • Postaviti message broker kao Docker container. Predlog je da to bude RabbitMQ.

Glavna aplikacija → publish poruke
Email Service → subscribe / worker koji obrađuje poruke

Reference:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions