Backend Architecture #42
SwarnimWalavalkar
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Motivation
The goal of this architecture is to build a system with many loosely coupled, atomic components to facilitate a logically structured, extensible and modular system.
Components
Database Controller
Perform Database Operations
Data Aggregator
Aggregate data from multiple sources (Twitter, Telegram, OCR, etc), parse it, and call the database controller service to write to DB
Source Twitter
Fetch Tweets and pass it to the Data Aggregator to parse and write to DB
Source Telegram
Fetch data from telegram and send it to the aggregator service to parse
Source OCR
Use Google's Cloud Vision API to run OCR and send recognized text to the aggregator service
Supplier Load Balancer
Balance demand amongst suppliers to ensure no single supplier is sent as a response too many times in a short timeframe
Translator
Translate provided text using Google's Translate API, will be called by the aggregator service
Data Ingress Pipeline
[From Multiple Source Services (called by aggregator service)] → Data Aggregator (parsing and scheduling) → DB Controller
Data Egress Pipeline
[Consumer] → API → Database Controller → Supplier Load Balancer → Response
Assoicated Tasks/Goals
Beta Was this translation helpful? Give feedback.
All reactions