System Architecture

🚀 Don't forget to click the elements in the diagram, it's interactive!
ArchitectureDiagram cluster_row4 External providers cluster_cron Background jobs row2 row3 row2->row3 server1 Backend Server row2->server1 row4 row3->row4 row3column1 row3->row3column1 provider1 Amazon S3 row4->provider1 row1 row1->row2 frontendApp Frontend App row1->frontendApp frontendApp->server1 frontendApp->provider1 server2 Workers server1->server2 server1->row3column1 database Database server1->database server3 Jobs server2->server3 server3->server2 server3->database provider3 External Provider 2 server3->provider3 row3column1->database row3column1->provider1 provider2 External Provider provider1->provider2 provider2->provider3

Frontend App

The frontend app provides the user interface and interacts with the backend servers.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi aliquam risus nec eros laoreet aliquet. Sed volutpat, ex at iaculis viverra, sem eros facilisis nibh, vel ullamcorper augue nibh nec nunc. Praesent a aliquet velit. Duis vel magna quis diam dignissim ultrices in nec felis. Sed convallis blandit purus eget tempor. Mauris id felis tristique, tincidunt nibh id, fringilla enim.

Backend Server

The backend servers handle business logic, process requests, and communicate with the database and external providers.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi aliquam risus nec eros laoreet aliquet. Sed volutpat, ex at iaculis viverra, sem eros facilisis nibh, vel ullamcorper augue nibh nec nunc. Praesent a aliquet velit. Duis vel magna quis diam dignissim ultrices in nec felis. Sed convallis blandit purus eget tempor. Mauris id felis tristique, tincidunt nibh id, fringilla enim.

Workers

The workers hold a queue of jobs that are executed according to their priority.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi aliquam risus nec eros laoreet aliquet. Sed volutpat, ex at iaculis viverra, sem eros facilisis nibh, vel ullamcorper augue nibh nec nunc. Praesent a aliquet velit. Duis vel magna quis diam dignissim ultrices in nec felis. Sed convallis blandit purus eget tempor. Mauris id felis tristique, tincidunt nibh id, fringilla enim.

Jobs

Jobs can hold any amount of work that can be executed on a background worker.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi aliquam risus nec eros laoreet aliquet. Sed volutpat, ex at iaculis viverra, sem eros facilisis nibh, vel ullamcorper augue nibh nec nunc. Praesent a aliquet velit. Duis vel magna quis diam dignissim ultrices in nec felis. Sed convallis blandit purus eget tempor. Mauris id felis tristique, tincidunt nibh id, fringilla enim.

Database

The database stores and manages the application's data.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi aliquam risus nec eros laoreet aliquet. Sed volutpat, ex at iaculis viverra, sem eros facilisis nibh, vel ullamcorper augue nibh nec nunc. Praesent a aliquet velit. Duis vel magna quis diam dignissim ultrices in nec felis. Sed convallis blandit purus eget tempor. Mauris id felis tristique, tincidunt nibh id, fringilla enim.

External Provider

External providers offer additional services or data that the application relies on.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi aliquam risus nec eros laoreet aliquet. Sed volutpat, ex at iaculis viverra, sem eros facilisis nibh, vel ullamcorper augue nibh nec nunc. Praesent a aliquet velit. Duis vel magna quis diam dignissim ultrices in nec felis. Sed convallis blandit purus eget tempor. Mauris id felis tristique, tincidunt nibh id, fringilla enim.