Skip to content

ishan-backend/HLD

Repository files navigation

High-Level Design

This is my collection of high-level designs of software architectures which I have worked on in my orgs or explored otherwise!

Table of Contents

Index Topic Link Status Articles/Videos
0 Networking+Protocols basics ✔️ TCP vs UDP
OSI, TCP/IP
TLS Playlist
WebRTC vs HLS & specific use cases
gRPC via HTTPS2
QUIC/HTTP3
Fixing backend postgres connection leaks
Connection Pools
1 Kubernetes Architecture k8s
2 Kubernetes Sidecar Architecture
3 Kafka Architecture kafka
producer-consumer
Lessons learned form Kafka in production
Transactional Outbox Pattern
Confluent Kafka 101
Exactly once semantics with Matthias J. Sax
4 Load Balancer lb Todo Envoy
5 Telegram Link
6 Streaming Service + Live Streaming e.g. HotStar Link
7 Distributed Concurrency 1. a) Distributed Concurrency: OCC PCC Part1
2. Using CAS style atomic operation if your DB supports it. Systems like Cassandra supports it.
3. Serializing the request using queues that makes sure only one of those requests would succeed. CockroachDB uses similar mechanism internally that lets only one transaction win.
4. Using a distributed locking system like Redis, but this is over engineering for most cases.
Udemy Hussein Nasser
8 Payment System:

• Internal payment system of any e-commerce
• PSP e.g Razorpay or juspay
• UPI
• Bank Payment Settlement
Internal Payment System of Company Todo Possible Interview Question
9 Software Architecture Patterns: Application Code Read & Make Notes Todo
10 Scaling for Millions of Request per second Todo Understand and research for multiple scenarios and common use cases for interviews
11 Design Search System

• Real Time Recommendation Based Search & Homepage catalogue

• TypeAhead Search System Design

• IM Search Design
Real Time Recommendation Based Search & Homepage catalogue - Notes In-Progress

About

This repository includes professional learnings, architecture and industry standard HLD solutions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published