0% found this document useful (0 votes)
5 views5 pages

Phase 3

Phase 3 focuses on System Design and Microservices Architecture, emphasizing Low-Level Design (LLD) and High-Level Design (HLD) principles. It covers essential concepts such as OOP principles, design patterns, and scalable architecture, along with practical tools and examples for building microservices using Spring Boot. The phase aims to prepare individuals for real-world applications and interviews by providing a structured learning plan and hands-on projects.

Uploaded by

Sachin Jadhav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views5 pages

Phase 3

Phase 3 focuses on System Design and Microservices Architecture, emphasizing Low-Level Design (LLD) and High-Level Design (HLD) principles. It covers essential concepts such as OOP principles, design patterns, and scalable architecture, along with practical tools and examples for building microservices using Spring Boot. The phase aims to prepare individuals for real-world applications and interviews by providing a structured learning plan and hands-on projects.

Uploaded by

Sachin Jadhav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 5

Phase 3: System Design + Microservices (1.

5–2 months)

This phase is split into two core pillars:

1. System Design (LLD & HLD)

2. Microservices Architecture and Tools

✅ 1. SYSTEM DESIGN

Top companies often ask System Design questions in interviews to


evaluate your scalability, modularity, and clean architecture
understanding. It’s divided into:

🔷 1.1 Low-Level Design (LLD)

 Goal: Write clean, scalable class-based code using OOP principles.

 Important Concepts:

o SOLID principles

o Design Patterns (Singleton, Factory, Strategy, Observer)

o Class diagrams and relationships (Association, Aggregation,


Composition)

o Interface segregation, Dependency injection

o Clean Code Practices

🔹 Example LLD Questions:

 Design a Parking Lot

 Design BookMyShow

 Design a Cab Booking System

 Design a Notification System

 Elevator System

 ATM Machine

🛠 Tools:

 Use Excalidraw or Draw.io for diagramming

 Java-based class implementations

🔷 1.2 High-Level Design (HLD)


 Goal: Architect scalable systems handling millions of users/data
points.

 Focus Areas:

o Load Balancing

o Horizontal vs Vertical Scaling

o Database Sharding & Indexing

o API Design & Versioning

o Rate Limiting

o Caching (Redis, CDN)

o Queues (Kafka/RabbitMQ)

o Monitoring, Logging

🔹 Example HLD Questions:

 Design YouTube / Netflix

 Design WhatsApp / Slack

 Design Amazon (Ecommerce)

 Design Instagram / Twitter feed

 URL Shortener (like bit.ly)

 Rate Limiter, Notification System

🛠 Learning Resources:

 System Design Primer (GitHub)

 Gaurav Sen (YouTube)

 ByteByteGo (YouTube)

✅ 2. MICROSERVICES ARCHITECTURE

Now that you're building realistic applications (e.g., Hotstar clone), learn
how enterprise apps are built using microservices.

🔷 2.1 Fundamentals of Microservices

 Small, independently deployable services

 Communicate via REST APIs or Messaging (Kafka, RabbitMQ)

 Each service manages its own DB (no shared schema)


🔹 Microservice Principles:

 Loose coupling, high cohesion

 Decentralized data management

 CI/CD friendly

 Fault isolation

🔷 2.2 Build Microservices with Spring Boot

Start by breaking monolith into services:

 Auth Service

 User Service

 Video/Product Service

 Recommendation/Review Service

🔹 Tech Stack:

 Spring Boot for REST APIs

 Spring Cloud for distributed systems

 MySQL per service DB

 Redis for caching

 Kafka for message queuing

🔷 2.3 Advanced Concepts & Tools

Concept Purpose

Messaging queue between services (watch history,


Kafka
user activity)

Zookeeper Coordination service for Kafka

In-memory data store (used for caching top


Redis
videos/products)

Service discovery — dynamic location of


Eureka/Consul
microservices

Spring Cloud
API Gateway to route traffic to microservices
Gateway

Circuit Breakers Handle service failure gracefully (Hystrix/Resilience4J)


Concept Purpose

Docker Containerization of services

Docker Compose Manage multiple containers for local dev

JWT/OAuth2 Secure communication and authentication

🔷 2.4 Project Integration Example (Hotstar Clone)

Microservice Description

Auth Service Login, Register, JWT-based authentication

User Service Profile, preferences

Content
Serve video metadata, thumbnails
Service

Watch Kafka pushes user play events → Redis cache for “Recently
History Watched”

Search
Search titles, genres — optional use of Elasticsearch
Service

Billing
For subscriptions (Stripe integration)
Service

🛠 Dev Tools:

 Postman (API Testing)

 Docker Desktop

 IntelliJ or VSCode for IDE

✅ Suggested Learning Plan (4 Weeks)

Wee
What to Learn
k

1 LLD Problems + Spring Boot Microservices Setup

2 HLD Problems + Kafka & Redis Integration

System Design Questions + API Gateway, Eureka,


3
Docker

Project integration using microservices + Logging &


4
Monitoring
✅ Output of Phase 3:

 You’ll have deep understanding of real-world architecture

 You’ll build scalable apps using modern tools like Kafka, Redis,
Docker

 You’ll be interview-ready for LLD & HLD rounds at top


companies

You might also like