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:

КОМЕНТАРІ • 100

  • @NeverGiveUp186
    @NeverGiveUp186 Рік тому +36

    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!!

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +3

      thanks a lot buddy, means lot to me 🙏

    • @utkarshrazzz9964
      @utkarshrazzz9964 24 дні тому

      This is true... A lot of support and respect to this genuine guy... 🙏🙏

  • @mayankb9
    @mayankb9 6 днів тому +1

    God bless you ! Very nice explanation !

  • @learningfoundation6601
    @learningfoundation6601 19 днів тому +1

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

  • @geekydanish5990
    @geekydanish5990 Рік тому +2

    Awsome looking forward for more such HLD videos 🙏🙏🙏

  • @shubhamagarwal1434
    @shubhamagarwal1434 12 днів тому +1

    Very well explained...Super..

  • @VishalSharma-jz8yn
    @VishalSharma-jz8yn 4 дні тому +1

    Thanks bhai

  • @user-zt3gl8ix5h
    @user-zt3gl8ix5h 3 місяці тому +1

    keep it up you are doing amazing job❤❤❤

  • @BalaSai-wi8vq
    @BalaSai-wi8vq 8 місяців тому +2

    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

  • @MrBaaz-do9ny
    @MrBaaz-do9ny Рік тому +2

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

  • @nayanjyotibhagawati939
    @nayanjyotibhagawati939 5 місяців тому

    Very new to this channel.. awesome content

  • @sarthakbhatia7639
    @sarthakbhatia7639 10 місяців тому

    Understood thanks :)

  • @dreamyme543
    @dreamyme543 Місяць тому +1

    Thank you ❤️❤️

  • @sohelsheikh1934
    @sohelsheikh1934 Рік тому +3

    Awesome content🖤

  • @vinoths7140
    @vinoths7140 Рік тому +1

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

  • @dhareppasasalatti6766
    @dhareppasasalatti6766 Рік тому +2

    Thank you for the amazing content 😍

  • @bablushaw6856
    @bablushaw6856 Рік тому +1

    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.

  • @avinashak3302
    @avinashak3302 Рік тому +2

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

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +1

      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.

    • @avinashak3302
      @avinashak3302 Рік тому

      @@ConceptandCoding awesome 😎 thanks bro!!

  • @mohitladia
    @mohitladia 10 місяців тому +1

    great content

  • @charuagarwal8405
    @charuagarwal8405 Рік тому +1

    What are the books/ resources you use to learn these things? Would love to read more and do a more in depth learning :)

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +2

      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.
      :)

  • @devforall2006
    @devforall2006 Рік тому +1

    love u man

  • @rambeersharma2091
    @rambeersharma2091 Рік тому

    Very nice

  • @arimardanyadav4500
    @arimardanyadav4500 15 днів тому

    ### **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.**

  • @harshitkaur1
    @harshitkaur1 18 днів тому

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

  • @subbunittala2012
    @subbunittala2012 6 місяців тому

    Hi shreyansh,..please if possible do a video on throughput and some performance metrics which we need to look out for an api

  • @pawanjinger747
    @pawanjinger747 Рік тому +1

    SFTP can be used now for secured file transfer.

  • @user-iz4xx2ii1y
    @user-iz4xx2ii1y 10 місяців тому

    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?

    • @ConceptandCoding
      @ConceptandCoding  10 місяців тому

      Depends , if some signals miss is okay UDP can be used.

  • @thelogicalindian5394
    @thelogicalindian5394 5 місяців тому

    Could you please share the link for your one note notebook? Much appreciated. Thank you.

  • @SUNNYKUMARSINGH-te2nn
    @SUNNYKUMARSINGH-te2nn Рік тому +1

    Hi Shrayansh, could you please attach the ppt in the description because that would be easy for us to refer back to the notes.

  • @srinivasa6981
    @srinivasa6981 Рік тому +2

    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.

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +3

      Yes Srinivas, it ignores. So no guarantee of receiving of the packet

    • @SumanPal-wo2xw
      @SumanPal-wo2xw Рік тому

      @@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 !

    • @rishabhjain8990
      @rishabhjain8990 Рік тому

      @@SumanPal-wo2xw yes, you are correct..

  • @arghyadeepmandal4458
    @arghyadeepmandal4458 Рік тому

    Just started this playlist.Awesome content.Is this hld series enough for freshers?

  • @goyaldeekshant
    @goyaldeekshant Рік тому

    gooooooooooooood

  • @saurabhkiet8877
    @saurabhkiet8877 Рік тому

    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.

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      I did not get it when you say dedicated connection.
      UDP is also a dedicated connection between server and client too.

    • @hanselSequeira
      @hanselSequeira 8 місяців тому

      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.

  • @countmusic6831
    @countmusic6831 Місяць тому

    Bro please make one video that how can we shoe system design skills in resume

  • @pradeepravi9608
    @pradeepravi9608 Рік тому +1

    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 🙏

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      Sure. I think only 1-2 videos are in hindi, rest is English only. I will cover

  • @allussainathreddy7476
    @allussainathreddy7476 Рік тому

    Hi Shrayansh,
    I am a frontend developer. Can you please make frontend system design playlist?

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      Hi Allus, i am backend engineer, so i am not sure about frontend system design buddy

  • @gauravraj2604
    @gauravraj2604 26 днів тому

    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?

    • @girishanker3796
      @girishanker3796 11 днів тому

      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

  • @rgb4158
    @rgb4158 Рік тому

    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.

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      For freshers, LLD is first priority and HLD you will see after 2yr of exp

    • @rgb4158
      @rgb4158 Рік тому +1

      @@ConceptandCoding Thank you so much! Also just started with the playlist, and as a fresher, I'm finding it very easy to understand. Thanks!!

  • @veeresharadhya1430
    @veeresharadhya1430 Рік тому +1

    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 😔

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +2

      Hi Veeresh, only initial videos are in Hindi and i already switched to English. But yes i can understand. Sorry for the inconvenience.

  • @DivyamUpneja
    @DivyamUpneja 2 місяці тому

    I heard about XMPP protocol is used for messaging applications instead of webSockets. Can you please explain ?

    • @ConceptandCoding
      @ConceptandCoding  2 місяці тому

      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.

    • @DivyamUpneja
      @DivyamUpneja 2 місяці тому

      @@ConceptandCodingthank you for ACK 😀

  • @jainamshah3691
    @jainamshah3691 Рік тому

    What will be the prerequisites to learn HLD and LLD from your playlists

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +1

      LLD you should know OOPs fundamentals (inheritance, polymorphism etc)
      HLD no prerequisite, i covered from very Basics

    • @jainamshah3691
      @jainamshah3691 Рік тому +1

      @@ConceptandCoding thanx for the prompt response👍👍

    • @jainamshah3691
      @jainamshah3691 Рік тому

      @@ConceptandCoding one more doubt I know the basics of oops, what should I start first the LLD or HLD

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      @@jainamshah3691 if you have experience

  • @abhishekvithal8060
    @abhishekvithal8060 Рік тому

    Where can we get the pdf of the same that you have taught in the videos?

    • @ConceptandCoding
      @ConceptandCoding  Рік тому +1

      Hi i haven't saved the notes. Sorry for that, i will do from future

  • @aravindkumarn1776
    @aravindkumarn1776 Рік тому

    Please atleast enable the caption. So that we can use English subtitle to understand

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      From Hindi to English caption, youtube is not giving me an option, i have write word by word in English buddy

  • @saiswaroopkandula9997
    @saiswaroopkandula9997 10 місяців тому

    Please do videos in English so that it will be useful for everyone

    • @ConceptandCoding
      @ConceptandCoding  10 місяців тому

      Yes i switched to English and all latest videos are in English only buddy

  • @BY-gb9qg
    @BY-gb9qg Рік тому

    Can we download these notes? Can you upload somewehere and paste the link in comments.

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      Hi, i haven't saved the old notes. But i have all latest one. I will upload and share the link

  • @UtkarshSingh-cb8fq
    @UtkarshSingh-cb8fq Рік тому

    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 ?

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      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.

  • @mbk8569
    @mbk8569 8 місяців тому

    can you please do this video in only english ?

  • @ashb8552
    @ashb8552 6 місяців тому

    31k views 464k likes
    Cool 😎😂

  • @GetXPercentBetter
    @GetXPercentBetter 3 місяці тому

    Please share link of notes if anyone have?

  • @udhayasankar113
    @udhayasankar113 Рік тому

    Pls add subs to this series

    • @ConceptandCoding
      @ConceptandCoding  Рік тому

      I started making in English and are you from PayPal? i think this DP seems familiar

    • @udhayasankar113
      @udhayasankar113 Рік тому

      @@ConceptandCoding no not ...person in this pic is indian bowler bhuvaneshwar Kumar 😅

    • @paarttipaabhalajimanohar5141
      @paarttipaabhalajimanohar5141 Рік тому

      Kindly add subtitles please

  • @ashoksingh1970
    @ashoksingh1970 3 місяці тому

    "transport layer me do hote hai" - kafi vague language use kar rahe, kya do hota hai?

  • @AkshaySharma-bg3oj
    @AkshaySharma-bg3oj 11 місяців тому

    yo anyone made notes, to drive link share kardo. Shoutout milega xd

  • @vishnuvadhandevandla4110
    @vishnuvadhandevandla4110 10 місяців тому

    Hi , your explanation very nice but pls explain in English this video

  • @swethagowda6708
    @swethagowda6708 5 місяців тому

    please use english instead of hindi