Introduction
Distributed architecture splits work across many machines. This helps keep systems running even if some parts fail. It makes services more reliable and available.
When you want your messaging system to keep working even if one server crashes
When you need to handle large amounts of data without losing messages
When you want to spread workload across multiple servers to avoid overload
When you want to add or remove servers without stopping the whole system
When you want to ensure data is safe by storing copies on different machines