Hard1 markMultiple Choice
Domain 4.2: Design an Application ArchitectureArchitectureMicroservicesDesign Patterns

AZ-305 · Question 47 · Domain 4.2: Design an Application Architecture

You are designing a microservices architecture for a high-traffic ticketing system.

During ticket sales events, the system experiences massive spikes in 'write' operations (users buying tickets). The 'read' operations (users viewing available seats) are also high but require different scaling and performance characteristics. You need to design an architecture that scales the read and write workloads independently.

Which architectural pattern should you recommend?

Answer options:

A.

Saga Pattern

B.

Command and Query Responsibility Segregation (CQRS)

C.

Circuit Breaker Pattern

D.

Strangler Fig Pattern

How to approach this question

Keywords: 'scales the read and write workloads independently'. This is the exact definition of CQRS.

Full Answer

B.Command and Query Responsibility Segregation (CQRS)✓ Correct
The Command and Query Responsibility Segregation (CQRS) pattern separates read and update operations for a data store. Implementing CQRS in your application can maximize its performance, scalability, and security. It allows the read workload (viewing seats) to scale independently from the write workload (buying tickets), often using different database technologies for each.

Common mistakes

Choosing Saga. While Saga is common in microservices, it solves the problem of distributed transactions, not read/write scaling.

Practice the full Azure Solutions Architect Expert AZ-305 Practice Exam 4

55 questions · hints · full answers · grading

More questions from this exam