CPSA Architectural Patterns and Styles 4 — Questions and Answers
Question 1: Which architectural quality attribute does the Bulkhead pattern primarily protect?
- Confidentiality
- Availability and fault isolation (Correct answer)
- Portability
- Interoperability
Correct answer: Availability and fault isolation
The Bulkhead pattern isolates components into pools so that a failure or resource exhaustion in one pool does not cascade to others, preserving overall system availability.
Question 2: In a layered (n-tier) architecture, what rule governs the direction of dependencies between layers?
- Higher layers may only depend on lower layers, never the reverse (Correct answer)
- Dependencies are bidirectional to allow for efficient communication
- Each layer can only communicate with non-adjacent layers
- The presentation layer directly accesses the data layer for performance
Correct answer: Higher layers may only depend on lower layers, never the reverse
The strict layering rule dictates that each layer only depends on the layer directly below it, preventing upward dependencies and promoting loose coupling.
Question 3: Event-Driven Architecture (EDA) most directly improves which architectural quality?
- Strong consistency across all components
- Temporal decoupling between producers and consumers (Correct answer)
- Simplified debugging and tracing
- Reduced infrastructure cost
Correct answer: Temporal decoupling between producers and consumers
EDA allows producers to emit events without waiting for consumers to process them, enabling components to operate and scale independently at different speeds.
Question 4: Which statement correctly distinguishes Orchestration from Choreography in distributed workflow coordination?
- Orchestration is stateless; choreography requires persistent state
- Orchestration uses a central controller that tells services what to do; choreography relies on services reacting to events (Correct answer)
- Orchestration is always synchronous; choreography is always asynchronous
- Orchestration is only used in monolithic applications
Correct answer: Orchestration uses a central controller that tells services what to do; choreography relies on services reacting to events
In orchestration, a central workflow engine explicitly directs service execution order, while choreography has services react autonomously to domain events without central coordination.
Question 5: The Space-Based Architecture (SBA) pattern addresses scalability by eliminating which common bottleneck?
- CPU contention in stateless application servers
- The central database as a synchronization point by distributing both data and processing (Correct answer)
- Network latency between geographically dispersed data centers
- SSL handshake overhead in TLS connections
Correct answer: The central database as a synchronization point by distributing both data and processing
SBA distributes processing units with their own in-memory data grid, removing the central database bottleneck and enabling near-linear horizontal scaling.
Question 6: In Domain-Driven Design, a Bounded Context directly influences architecture by defining what?
- The number of microservices that can be deployed per host
- Clear linguistic and functional boundaries within which a particular domain model applies (Correct answer)
- The maximum number of aggregates allowed per service
- Database schema naming conventions for relational tables
Correct answer: Clear linguistic and functional boundaries within which a particular domain model applies
A Bounded Context establishes the scope where a specific ubiquitous language and domain model are valid, typically mapping to a service or subsystem boundary.
Question 7: Which trade-off is a direct consequence of applying the microservices architectural style compared to a monolith?
- Simpler deployment pipeline but higher runtime coupling
- Increased operational complexity in exchange for independent deployability and scalability (Correct answer)
- Lower latency for all inter-component calls due to network proximity
- Stronger data consistency guarantees across all services
Correct answer: Increased operational complexity in exchange for independent deployability and scalability
Microservices improve independent scalability and deployment but introduce distributed systems challenges such as network latency, eventual consistency, and complex operations.
Which architectural quality attribute does the Bulkhead pattern primarily protect?