1. Network Protocols, High Level Design | Client Server vs Peer 2 Peer Model | webSocket vs WebRTC
Вставка
- Опубліковано 20 чер 2022
- ➡️ Join this channel to get access to member only perks:
/ @conceptandcoding
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!!
thanks a lot buddy, means lot to me 🙏
This is true... A lot of support and respect to this genuine guy... 🙏🙏
God bless you ! Very nice explanation !
amazing video sir gaurav sen ke baad idhar aaya hun ab lag rha hai system design interesting hota hai , amazing content sir
Awsome looking forward for more such HLD videos 🙏🙏🙏
Very well explained...Super..
Thanks bhai
keep it up you are doing amazing job❤❤❤
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
Yes will add more videos buddy
videos next level bhaiya.. 10k subs ho jayega future dekh liya mene
☺️ thanks 🙏🙏
Very new to this channel.. awesome content
Understood thanks :)
Thank you ❤️❤️
Awesome content🖤
thank you
Brother, your way explanation is amazing, very easy to understand, please make LLD and HLD playlist in English.
Yes, all latest videos are in English only
Thank you for the amazing content 😍
thank you
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.
Thanks bablu.
BABLU JIIIII
loved it thanks for covering from basics. LLD series done?
no, LLD is not finished, but need to switch between HLD, DSA too. HLD, 2 topics i have covered, one is this video and next is also ready.
Now i have picked one LLD question, need to take out some time to implement that. May be this Sunday i will upload.
@@ConceptandCoding awesome 😎 thanks bro!!
great content
Thank you
What are the books/ resources you use to learn these things? Would love to read more and do a more in depth learning :)
Charu, it's a tough question to answer.
The bigger problem is what exactly to learn. If you know what to learn then it's just googling till your all doubts are not satisfied.
And how to know what to learn, that i would say comes with an exp.
:)
love u man
🙂 thanks
Very nice
Thank you
### **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.**
What should we expect in case study interviews for around having time slot of around 3 hours
Hi shreyansh,..please if possible do a video on throughput and some performance metrics which we need to look out for an api
noted
SFTP can be used now for secured file transfer.
Hi @Concept & coding , which protocol is used by sensors to send data to main service , for eg. i have small sensor in each city to collect weather data and sent it to central system which analyse and do forecast?
Depends , if some signals miss is okay UDP can be used.
Could you please share the link for your one note notebook? Much appreciated. Thank you.
Hi Shrayansh, could you please attach the ppt in the description because that would be easy for us to refer back to the notes.
Noted
Hi @Concept && Coding, if there is no acknowledgement in the UDP protocol, how will the client know if a data packet is lost or not received. Will it simply ignore the packet and proceed with the newly received ones? Please explain.
Yes Srinivas, it ignores. So no guarantee of receiving of the packet
@@ConceptandCoding This loosing of packets results in the data loss. And this data loss leads to bad quality of video,while video streaming / gaming..correct me if i am wrong !
@@SumanPal-wo2xw yes, you are correct..
Just started this playlist.Awesome content.Is this hld series enough for freshers?
For freshers yes, but this playlist is just started, many things going to come :)
@@ConceptandCoding ok
gooooooooooooood
thank you
Hi Shreyas , good video but I think UDP is slower than TCP. TCP is fast because in TCP there is a dedicated connection so it is fast.Please guide me on this.
I did not get it when you say dedicated connection.
UDP is also a dedicated connection between server and client too.
You're ignoring the additional factors causing an overhead in TCP due to this dedicated connection - sequencing the packets, ensuring you receive an ACK for each packet, retransmission of the packets, increasing/decreasing the window size, reordering the packets at the receiver end based on the sequence number, etc.
Bro please make one video that how can we shoe system design skills in resume
Sir is there any english version of HLD ? if there is any chance pls cover the tpoics which is coverd in hindi do it in english also sir 🙏
Sure. I think only 1-2 videos are in hindi, rest is English only. I will cover
Hi Shrayansh,
I am a frontend developer. Can you please make frontend system design playlist?
Hi Allus, i am backend engineer, so i am not sure about frontend system design buddy
So,
1. live streaming should be using web-RTC application protocol and UDP as transport protocol.
2. messaging app should be using web-socket application protocol.
But which transport protocol a messaging app should be using?
it uses TCP/IP. Actually initially the client-server uses a http request to establish the connection which is further upgraded to web-socket on agreement by both server and client
As a fresher, what is mostly asked in system design interview rounds lld or hld or both? And as a fresher how to know if you're prepared to crack the interview?
Thank you.
For freshers, LLD is first priority and HLD you will see after 2yr of exp
@@ConceptandCoding Thank you so much! Also just started with the playlist, and as a fresher, I'm finding it very easy to understand. Thanks!!
I got to know about your videos on LinkedIn and I was expecting it to be in English. As I don't know Hindi it is not useful for me 😔
Hi Veeresh, only initial videos are in Hindi and i already switched to English. But yes i can understand. Sorry for the inconvenience.
I heard about XMPP protocol is used for messaging applications instead of webSockets. Can you please explain ?
Hi Divyam,
both are used, but XMPP has some additional features like
presence detection, message acknowledgment etc.
i will cover XMPP too in depth soon.
@@ConceptandCodingthank you for ACK 😀
What will be the prerequisites to learn HLD and LLD from your playlists
LLD you should know OOPs fundamentals (inheritance, polymorphism etc)
HLD no prerequisite, i covered from very Basics
@@ConceptandCoding thanx for the prompt response👍👍
@@ConceptandCoding one more doubt I know the basics of oops, what should I start first the LLD or HLD
@@jainamshah3691 if you have experience
Where can we get the pdf of the same that you have taught in the videos?
Hi i haven't saved the notes. Sorry for that, i will do from future
Please atleast enable the caption. So that we can use English subtitle to understand
From Hindi to English caption, youtube is not giving me an option, i have write word by word in English buddy
Please do videos in English so that it will be useful for everyone
Yes i switched to English and all latest videos are in English only buddy
Can we download these notes? Can you upload somewehere and paste the link in comments.
Hi, i haven't saved the old notes. But i have all latest one. I will upload and share the link
P2P is faster than Client-server.
1. What do you mean by fast ? Do u mean msg transferring/communication is fast ? Less latency ?
2. What are the metrics to choose that it is faster ?
Hi Utkarsh,
As far as i can recall, while telling WebRTC i told it is fast and it's peer to peer connection.
It is faster because it's based on UDP protocol not TCP and does not require set up of 3 way handshake.
can you please do this video in only english ?
31k views 464k likes
Cool 😎😂
Please share link of notes if anyone have?
Pls add subs to this series
I started making in English and are you from PayPal? i think this DP seems familiar
@@ConceptandCoding no not ...person in this pic is indian bowler bhuvaneshwar Kumar 😅
Kindly add subtitles please
"transport layer me do hote hai" - kafi vague language use kar rahe, kya do hota hai?
yo anyone made notes, to drive link share kardo. Shoutout milega xd
Hi , your explanation very nice but pls explain in English this video
Yes i have switched to English
please use english instead of hindi