Blog / Technical / Communication Protocols

Communication Protocols

Communication protocols define how services exchange data — the encoding, transport, sequencing, and error-handling rules that govern inter-service interactions. Choosing the right protocol involves trade-offs...

large-scale-software-engineeringdocs

Communication protocols define how services exchange data — the encoding, transport, sequencing, and error-handling rules that govern inter-service interactions. Choosing the right protocol involves trade-offs between latency, reliability, coupling, and operational complexity.

Overview

mindmap root((Communication\nProtocols)) Synchronous REST HTTP/1.1 HTTP/2 gRPC Protocol Buffers GraphQL WebSocket Server-Sent Events Async Messaging Message Queues FIFO Pub-Sub Topics Event Streaming Kafka Dead Letter Queues Competing Consumers Serialization JSON Protocol Buffers protobuf Apache Avro MessagePack Apache Thrift Service-to-Service Service Discovery Load Balancing mTLS API Gateway Service Mesh Network Protocols TCP UDP HTTP/1.1 HTTP/2 HTTP/3 QUIC TLS/SSL DNS BGP

Topics in This Section

File Topic Key Concepts
01_synchronous_protocols.md Synchronous REST, gRPC, WebSocket, SSE
02_async_messaging_patterns.md Async Messaging Queues, pub/sub, streaming, DLQ
03_serialization_formats.md Serialization JSON, Protobuf, Avro, schema evolution
04_service_to_service_patterns.md Service-to-Service Discovery, mTLS, service mesh, gateways
05_network_protocols.md Network TCP, HTTP versions, TLS, DNS, QUIC