Essential Network Protocols for Distributed Systems

Lesson 9 of 4011 min readPremium lesson preview

Essential Network Protocols for Distributed Systems

Choose network protocols by the communication guarantees the application needs: message semantics, ordered delivery, response time, and behavior after a connection fails. This lesson separates HTTP at the application layer from TCP and UDP at the transport layer.

Separate processes can fail or become unreachable independently. A successful network send does not establish that a remote service completed the requested business operation. Keep that distinction in mind when designing APIs and retries.

Start with the path from a client to a server in the diagram below.

A client asks; a server responds. The request names work to perform; the response reports the result.
Basic communication flow between a client and a server

The rest of this lesson is for Premium members

Premium opens every lesson in this course, along with all questions and solutions on PracHub.