Karan Pratap Singh

Karan Pratap Singh @karanpratapsingh

About: A software engineer who aims to evolve, innovate, and inspire through technology.

Location:
San Francisco
Joined:
Mar 15, 2020

Karan Pratap Singh
articles - 145 total

System Design: Uber

Let's design an Uber like ride-hailing service, similar to services like Lyft, OLA Cabs, etc. ...

Learn More 123 8Sep 22 '22

System Design: Netflix

Let's design a Netflix like video streaming service, similar to services like Amazon Prime Video,...

Learn More 287 9Sep 22 '22

System Design: Twitter

Let's design a Twitter like social media service, similar to services like Facebook, Instagram,...

Learn More 313 6Sep 22 '22

System Design: WhatsApp

Let's design a Whatsapp like instant messaging service, similar to services like Whatsapp, Facebook...

Learn More 715 22Sep 21 '22

System Design: URL Shortener

Let's design a URL shortener, similar to services like Bitly, TinyURL. What is a URL...

Learn More 78 4Sep 21 '22

System Design: System Design Interviews

System design is a very extensive topic and system design interviews are designed to evaluate your...

Learn More 19 0Sep 21 '22

System Design: SSL, TLS, mTLS

Let's briefly discuss some important communication security protocols such as SSL, TLS, and mTLS. I...

Learn More 11 0Sep 20 '22

System Design: Single Sign-On (SSO)

Single Sign-On (SSO) is an authentication process in which a user is provided access to multiple...

Learn More 35 0Sep 20 '22

System Design: OAuth 2.0 and OpenID Connect (OIDC)

OAuth 2.0 OAuth 2.0, which stands for Open Authorization, is a standard designed to...

Learn More 11 0Sep 20 '22

System Design: Virtual Machines (VMs) and Containers

Before we discuss virtualization vs containerization, let's learn what are virtual machines (VMs) and...

Learn More 4 0Sep 19 '22

System Design: Disaster recovery

Disaster recovery (DR) is a process of regaining access and functionality of the infrastructure after...

Learn More 1 0Sep 19 '22

System Design: SLA, SLO, SLI

Let's briefly discuss SLA, SLO, and SLI. These are mostly related to the business and site...

Learn More 10 0Sep 19 '22

System Design: Service Discovery

Service discovery is the detection of services within a computer network. Service Discovery Protocol...

Learn More 7 0Sep 18 '22

System Design: Rate Limiting

Rate limiting refers to preventing the frequency of an operation from exceeding a defined limit. In...

Learn More 6 0Sep 18 '22

System Design: Circuit breaker

The circuit breaker is a design pattern used to detect failures and encapsulates the logic of...

Learn More 13 0Sep 17 '22

System Design: Geohashing and Quadtrees

Geohashing Geohashing is a geocoding method used to encode geographic coordinates such as...

Learn More 46 0Sep 17 '22

System Design: Long polling, WebSockets, Server-Sent Events (SSE)

Web applications were initially developed around a client-server model, where the web client is...

Learn More 45 0Sep 16 '22

System Design: REST, GraphQL, gRPC

A good API design is always a crucial part of any system. But it is also important to pick the right...

Learn More 5 0Sep 16 '22

System Design: API Gateway

The API Gateway is an API management tool that sits between a client and a collection of backend...

Learn More 28 0Sep 16 '22

System Design: Command and Query Responsibility Segregation (CQRS)

Command Query Responsibility Segregation (CQRS) is an architectural pattern that divides a system's...

Learn More 5 0Sep 15 '22

System Design: Event Sourcing

Instead of storing just the current state of the data in a domain, use an append-only store to record...

Learn More 5 0Sep 15 '22

System Design: Event-Driven Architecture (EDA)

Event-Driven Architecture (EDA) is about using events as a way to communicate within a system....

Learn More 15 0Sep 15 '22

System Design: Monoliths and Microservices

Monoliths A monolith is a self-contained and independent application. It is built as a...

Learn More 14 0Sep 14 '22

System Design: Enterprise Service Bus (ESB)

An Enterprise Service Bus (ESB) is an architectural pattern whereby a centralized software component...

Learn More 10 0Sep 14 '22

System Design: Publish-Subscribe

Similar to a message queue, publish-subscribe is also a form of service-to-service communication that...

Learn More 4 0Sep 13 '22

System Design: Message Queues

A message queue is a form of service-to-service communication that facilitates asynchronous...

Learn More 10 0Sep 13 '22

System Design: Message Brokers

A message broker is a software that enables applications, systems, and services to communicate with...

Learn More 3 0Sep 13 '22

System Design: N-tier architecture

N-tier architecture divides an application into logical layers and physical tiers. Layers are a way...

Learn More 13 0Sep 12 '22

System Design: Database Federation

Federation (or functional partitioning) splits up databases by function. The federation architecture...

Learn More 9 0Sep 12 '22

System Design: Consistent Hashing

Let's first understand the problem we're trying to solve. Why do we need this? In...

Learn More 13 0Sep 11 '22