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

Поделиться
HTML-код
  • Опубликовано: 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 Год назад +38

    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 28 дней назад

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

  • @learningfoundation6601
    @learningfoundation6601 23 дня назад +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 🙏🙏🙏

  • @mayankb9
    @mayankb9 10 дней назад +1

    God bless you ! Very nice explanation !

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

  • @nayanjyotibhagawati939
    @nayanjyotibhagawati939 5 месяцев назад

    Very new to this channel.. awesome content

  • @MrBaaz-do9ny
    @MrBaaz-do9ny Год назад +2

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

  • @shubhamagarwal1434
    @shubhamagarwal1434 16 дней назад +1

    Very well explained...Super..

  • @dreamyme543
    @dreamyme543 Месяц назад +1

    Thank you ❤️❤️

  • @vinoths7140
    @vinoths7140 Год назад +1

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

  • @VishalSharma-jz8yn
    @VishalSharma-jz8yn 7 дней назад +1

    Thanks bhai

  • @sarthakbhatia7639
    @sarthakbhatia7639 10 месяцев назад

    Understood thanks :)

  • @sohelsheikh1934
    @sohelsheikh1934 Год назад +3

    Awesome content🖤

  • @dhareppasasalatti6766
    @dhareppasasalatti6766 Год назад +2

    Thank you for the amazing content 😍

  • @harshitkaur1
    @harshitkaur1 22 дня назад

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

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

  • @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.

  • @devforall2006
    @devforall2006 Год назад +1

    love u man

  • @mohitladia
    @mohitladia 10 месяцев назад +1

    great content

  • @arimardanyadav4500
    @arimardanyadav4500 19 дней назад

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

  • @rambeersharma2091
    @rambeersharma2091 Год назад

    Very nice

  • @thelogicalindian5394
    @thelogicalindian5394 5 месяцев назад

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

  • @pawanjinger747
    @pawanjinger747 Год назад +1

    SFTP can be used now for secured file transfer.

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

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

  • @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.

  • @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..

  • @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.

  • @arghyadeepmandal4458
    @arghyadeepmandal4458 Год назад

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

  • @goyaldeekshant
    @goyaldeekshant Год назад

    gooooooooooooood

  • @countmusic6831
    @countmusic6831 Месяц назад

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

  • @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.

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

  • @gauravraj2604
    @gauravraj2604 Месяц назад

    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 15 дней назад

      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

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

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

  • @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 😀

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

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

  • @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.

  • @saiswaroopkandula9997
    @saiswaroopkandula9997 11 месяцев назад

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

    • @ConceptandCoding
      @ConceptandCoding  11 месяцев назад

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

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

  • @GetXPercentBetter
    @GetXPercentBetter 3 месяца назад

    Please share link of notes if anyone have?

  • @ashb8552
    @ashb8552 6 месяцев назад

    31k views 464k likes
    Cool 😎😂

  • @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.

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

  • @mbk8569
    @mbk8569 8 месяцев назад

    can you please do this video in only english ?

  • @ashoksingh1970
    @ashoksingh1970 3 месяца назад

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

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

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