Distributed Architecture ​
Distributed architectures consist of multiple deployment units that work together to perform some sort of cohe sive business function. 
Pros:
- Scalability
- Elasticity
- Fault Tolerance
- Agility
- In some cases, Performance
Cons:
- Fallacies of Distributed Computing
- Much more complex than monolithic deployments:
- Distributed transactions
- Eventual consistency
- Workflow management
- Error handling
- Data synchronization
- Contract management
- Higher Cost
Scalability at Service-level. Mean time to recovery and Mean time to start measured in seconds or milliseconds.
High Fault Tolerance. Even if a fatal service error occurs on one service, the rest of the services continue to work as normal.
Highly agile, because application functionality is divided into separately deployed units of software:
- It is easier to locate and apply a change
- The testing scope is reduced to only the service that is impacted
- Deployment risk is significantly reduced because only the service impacted is typically deployed
Examples of Distributed Architecture:
- Event-driven Architecture
- Microservices Architecture
- Service-based Architecture
- Service-oriented Architecture
- Space-based Architecture