Advanced Reading #architecture #microservices #three-tier #system-design

Reading System Overview Descriptions

5 exercises on reading system architecture overviews: three-tier structure, microservice boundaries, API Gateway role, traffic flow, data ownership, and architectural trade-offs.

Reading system overview documents
  • Identify the tiers: presentation (clients) → application (services) → data (databases)
  • Find the entry point: what do clients connect to first?
  • Map communication styles: synchronous (gRPC/REST, caller waits) vs. async (events/queues, fire and forget)
  • Understand data ownership: which service owns which datastore?
  • Architecture choices always involve trade-offs — look for the "why" as well as the "what"
0 / 5 completed
1 / 5

Read this system overview and answer the question:

ShopCore Platform — System Overview

ShopCore is a three-tier e-commerce platform. The presentation tier consists of a React single-page application (SPA) served via a CDN, and a separate React Native mobile app. Both clients communicate exclusively with the application tier through a single entry point: an API Gateway that handles authentication, rate limiting, and request routing.

The application tier is decomposed into five microservices: Product Catalogue, Cart, Order, Payment, and Notification. Each service owns its data and exposes a REST or gRPC API. Inter-service communication uses an event bus (Kafka) for asynchronous workflows and direct gRPC calls for synchronous queries.

The data tier holds each service's dedicated datastore: PostgreSQL for transactional data (Orders, Cart), MongoDB for the Product Catalogue (flexible schema for varied product attributes), and Redis for session state and rate-limit counters.
What is the role of the API Gateway in this architecture?