Resources

| 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 | Two types of network protocols

  1. Client Server (HTTP, FTP, SMTP/IMAP, Websockets)
  2. Peer to Peet (WebRTC)

Client Server is Unidirectional except websockets which is bidirectional , but client server architecture is maintained. we use websockets when designing whatsapp, messaging apps, etc.

Peer to Peer supports all directions, client to client , client to server, server to client, etc. Ex) WebRTC

Two types of Transport Protocol

  1. TCP/IP (Connection oriented, slower, syn-ack, etc.) used by Websockets
  2. UDP (Connectionless, fast, best effort to send packets) used for voice call / video call as we don’t care much if things are missed in between - Ex) WebRTC

Read rest in detail | https://www.geeksforgeeks.org/last-minute-notes-computer-network/ https://www.geeksforgeeks.org/application-layer-in-osi-model/ https://www.geeksforgeeks.org/protocols-application-layer/ https://www.geeksforgeeks.org/difference-between-client-server-and-peer-to-peer-network/ https://www.geeksforgeeks.org/what-is-web-socket-and-how-it-is-different-from-the-http/ https://ably.com/topic/webrtc-vs-websocket https://www.geeksforgeeks.org/transport-layer-responsibilities/ https://www.geeksforgeeks.org/differences-between-tcp-and-udp/ | | --- | --- | --- | --- | | 2 | - Latency vs throughput

Consistency, Availability, Partition Tolerance Can’t have all 3, need to find trade-offs before designing

Partition Tolerance is : System is up and running Even If there is some network partition among nodes. that means, system is able to tolerate partition.

we always tradeoff on consistency and availability and not on parition tolerance | | | 3 | - Api Design

Database2: