A retail company is designing a new microservices-based application. To follow the AWS architectural design principle of loose coupling and avoid a single point of failure, the developers want to decouple the services by using separate, specialized databases. The order processing service requires a relational database to support ACID transactions, while the session management service requires a low-latency, schema-free database. Which combination of AWS database services should the company use to meet these requirements?
- Amazon RDS for order processing and Amazon DynamoDB for session managementAnswer
- BA single Amazon RDS instance shared by both the order processing and session management services
- CAmazon DynamoDB for order processing and Amazon Redshift for session management
- DAmazon Redshift for order processing and Amazon ElastiCache as the sole persistent database for session management
Answer
Amazon RDS for order processing and Amazon DynamoDB for session management
The combination of Amazon RDS and Amazon DynamoDB correctly matches the requirements of both services. Amazon RDS supports the ACID-compliant relational transactions needed for order processing, while DynamoDB provides the fast, schema-free storage needed for session management. Additionally, using separate databases for each microservice adheres to the AWS design principle of loose coupling.
Step-by-Step Solution
Key Concept
AWS Database Services Selection and Decoupled Architecture