It's impossible because of the fundamental nature of network partitions in distributed systems. When a network partition occurs (nodes cannot communicate), you face a choice:
Choose Consistency: Stop serving requests on partitioned nodes to maintain data consistency. This sacrifices availability.
Choose Availability: Continue serving requests on all nodes, but risk serving stale data, sacrificing consistency.
You cannot have both because:
To maintain consistency during a partition, you must either reject requests (losing availability) or wait for network healing (also losing availability)
To maintain availability, you must serve requests with potentially stale data (losing consistency)
Partition tolerance is mandatory in distributed systems because network failures are inevitable.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.