1. Network Protocols, High Level Design | Client Server vs Peer 2 Peer Model | webSocket vs WebRTC

preview_player
Показать описание
➡️ Join this channel to get access to member only perks:

today we have started the HLD series and covered the 1st topic, rest we will cover in upcoming videos

System Design : HLD

#1:
- Network Protocols
- what is Client server Model
- Peer to Peer Model (and learn about Web sockets)
- HTTP vs TCP vs UDP vs FTP vs SMTP(POP, IMAP)
- Examples

#2
- Latency vs throughput
- Availability vs consistency (CAP theorem)
- Performance vs scalability
- Vertical Scaling
- Horizontal Scaling

#3
- Api Design
- REST
- Synchronous and Asynchronous Calls
- Blocking and Non Blocking Calls
- Rate limiting

#4
- Monolithics Vs Microservices
- cover all important Microservices pattern like SAGA etc.

#5
- Caching
- Cache writing policies
- Types of Cache REDIS, JUNO ( L1 cache, L2 cache etc).
- CDN
- Load Balancer
- GSLB and other different ways of doing load balancing

#6
- Publish Subscribe pattern
- Queues
- Pull vs Push
- Consistent Hashing
- ZooKeeper
- Kafka
- Elastic search, SOLR etc.

#7 Cloud Concepts
- s3 for amazon, google filestore etc.

#8.1
Database1: - Relational vs Non Relational
- ACID property
- Indexing
- Data partitioning and Sharding- Vertical vs HorizontalSharding
- In Memory Databases

#8.2
Database2:
- Replication and Mirroring
- Leader Election

From #9 Onwards
- Solve Interview Questions

Questions:


Рекомендации по теме
Комментарии
Автор

Where all other so-called influencers are busy doing advertising and brand endorsement, you are the only one who is genuinely helping the community by providing high quality content.. that too absolutely free of cost. You are an inspiration man!! God bless you... and may this country get more people like you!!

NeverGiveUp
Автор

### **Introduction:**

- This is the first video in a series on high-level design, focusing on network protocols.
- Explains the role of network protocols in communication between computers.
- Introduces the concept of client-server and peer-to-peer models.
- Provides insights on choosing the right protocol for specific applications like WhatsApp, Google Meet, etc.

### **Network Protocols:**

- **Definition:** Network protocols define the rules and regulations for communication between systems over a network.
- **OSI Model:** Refers to the Open Systems Interconnection Model, a layered architecture for network communication (not covered in detail).
- **Key Layers:**
- **Application Layer:** Handles user-facing communication (e.g., web browsing, email).
- **Transport Layer:** Manages reliable data transfer between applications (e.g., TCP/UDP).

### **Application Layer Protocols:**

- **Client-Server Model:**
- **Client:** Initiates requests (e.g., web browser).
- **Server:** Responds to requests (e.g., web server).
- **Examples:** HTTP, FTP, SMTP, IMAP, Web Sockets.
- **Peer-to-Peer Model:**
- **Peers:** all machines can send and receive requests from each other
- **Example:** File sharing, instant messaging, WebRTC.

**HTTP (Hypertext Transfer Protocol):**

- **Key Points:**
- Most widely used protocol for web communication.
- Connection-oriented.
- Used for accessing web pages, web applications.
- **Example:** WhatsApp (uses web sockets over HTTP for messaging).

**FTP (File Transfer Protocol):**

- **Key Points:**
- Transferring files between computers.
- Two connections: Control connection and Data connection.

**SMTP (Simple Mail Transfer Protocol):**

- **Key Points:**
- Sending emails.
- Works with IMAP for receiving and reading emails.

**IMAP (Internet Message Access Protocol):**

- **Key Points:**
- Receiving and reading emails.
- Allows access to emails from multiple devices.

### **Transport Layer Protocols:**

- **TCP (Transmission Control Protocol):**
- **Key Points:**
- Connection-oriented (establishes a virtual connection).
- Divides data into packets and sequences them for reliable transmission.
- Provides error checking and retransmission.
- **Use Case:** WhatsApp, applications requiring reliable data transfer.
- **UDP (User Datagram Protocol):**
- **Key Points:**
- Connectionless.
- Sends data in packets without establishing a connection.
- No guarantee of delivery or order.
- Faster and more efficient than TCP.
- **Use Case:** Live streaming, video calling, applications where some data loss is acceptable.

### **Key Takeaways:**

- **Understanding network protocols is crucial for designing distributed systems.**
- **Client-server and peer-to-peer models are fundamental architectures for communication.**
- **TCP provides reliable data transfer, while UDP prioritizes speed.**
- **The choice of protocol depends on the specific requirements of the application.**

arimardanyadav
Автор

01:46 Network protocols define rules for communication between two systems
03:32 The main points discussed are about the application layer and transport layer.
05:18 WebSocket is a bidirectional communication protocol for real-time messaging applications.
07:04 WebSocket is a bidirectional communication protocol used to talk to the server
08:50 SMTP is a client-server model, while WebSockets and WebRTC are peer-to-peer protocols.
10:36 TCP IP maintains a virtual connection with ordered data packets, while UDP sends data through multiple virtual connections without maintaining a connection.
12:22 UDP is a fast best effort mechanism for data transfer, useful for live streaming and video calling.
14:04 HTTP, WebSockets, UDP, and WebRTC are the preferred network protocols for messaging apps, live streaming video, video calling, and secure transfer of data.

dhaivatdesai
Автор

amazing video sir gaurav sen ke baad idhar aaya hun ab lag rha hai system design interesting hota hai, amazing content sir

learningfoundation
Автор

Thanks for the great effort for making HLD and LLD playlists for free🙏🙏

techtransformers
Автор

Awsome looking forward for more such HLD videos 🙏🙏🙏

geekydanish
Автор

Hi Shreyansh, the content which you make is always a high quality stuff!!. Please make more videos on HLD that covers more real-life systems like webcrawler, tinder etc

BalaSai-wivq
Автор

videos next level bhaiya.. 10k subs ho jayega future dekh liya mene

MrBaaz-dony
Автор

I was learning HLD from here & there earlier and I came across WebSocket & WebRTC. There I was told we use WebSocket for WhatsApp and WebRTC for live streaming but now I know why I should prefer one over another. Now I am able to decide what and why to use for any mixed situation. All thanks to you.

bablushaw
Автор

keep it up you are doing amazing job❤❤❤

Sandeep-gp
Автор

God bless you ! Very nice explanation !

mkSlayer
Автор

Brother, your way explanation is amazing, very easy to understand, please make LLD and HLD playlist in English.

vinoths
Автор

Very new to this channel.. awesome content

nayanjyotibhagawati
Автор

loved it thanks for covering from basics. LLD series done?

ayavi
Автор

I believe at 5:25, the HTTP is connectionless, not connection oriented. I might be wrong, waiting for other's response.

subhajitadhikary
Автор

@shrayansh
Can you please provide the sheet or notepad you're using to explain the concepts ? If possible?

hemlata
Автор

Hi sir, Pls create videos in english so it will be useful for ppl who doesn't know hindi.Thank you

dhivyaviswanathan
Автор

SFTP can be used now for secured file transfer.

pawanjinger
Автор

Can you pls share the link to the notes. It would be really helpful

ruchitashah
Автор

What should we expect in case study interviews for around having time slot of around 3 hours

harshitkaur