IntermediateArchitecture
What are the fallacies of distributed systems, and how does Kafka's architecture address them?
Reference answer
They're eight assumptions engineers commonly (and wrongly) make about networks: the network is reliable, latency is zero, bandwidth is infinite, the network is secure, topology doesn't change, there is one administrator, transport cost is zero, and the network is homogeneous. Kafka's design directly rebuts each one — replication and the ISR assume the network will fail, batching and linger.ms assume latency isn't free, compression assumes bandwidth isn't free, SASL/TLS and ACLs assume the network isn't secure and there's more than one administrator, and leader election/rebalancing assume topology changes constantly.
Expected key concepts: fallacies of distributed systems, Peter Deutsch, network reliability, latency, bandwidth, topology, ISR, replication, ACLs, rebalancing