Home / Community / System Design - Microservices Architecture & API Design
Public

System Design - Microservices Architecture & API Design

Master robust system design with this high-yield flashcard deck on Microservices Architecture and API Design. Dive into service decomposition, inter-service communication patterns, data consistency, and best practices for building scalable, resilient software systems.

22 accessible of 22 cards

Card Preview

22 accessible of 22 cards

A quick, read-only look at the deck content.

Term

What is the core principle behind microservices architecture?

Definition

Microservices architecture structures an application as a collection of loosely coupled, independently deployable services, each responsible for a specific business capability or bounded context.

Term

Explain the Single Responsibility Principle (SRP) in the context of microservices.

Definition

SRP dictates that each microservice should have one and only one reason to change, meaning it should be responsible for a single, well-defined business capability. This promotes modularity and maintainability.

Term

What does 'independent deployment' mean in microservices?

Definition

Independent deployment means that each microservice can be developed, tested, and deployed without affecting or requiring redeployment of other services in the system. This enables faster release cycles and reduces coordination overhead.

Term

What problem does Service Discovery solve in a microservices architecture?

Definition

Service discovery allows client applications and other services to find the network location (IP address and port) of a service instance. This is crucial in dynamic environments where service instances scale up/down or change locations frequently.

Term

Differentiate between Client-side and Server-side Service Discovery.

Definition

In Client-side discovery, the client queries a service registry (e.g., Eureka, Consul) to get available service instances and then directly calls one. In Server-side discovery, the client makes a request to a router/load balancer (e.g., AWS ELB, Nginx) which queries the service registry and forwards the request to an available service instance.

Term

What is an API Gateway and what are its primary functions?

Definition

An API Gateway is a single entry point for all clients into a microservices system. Its primary functions include request routing, authentication/authorization, rate limiting, load balancing, caching, and protocol translation.

Term

List common inter-service communication patterns.

Definition

Common patterns include synchronous HTTP/REST, synchronous gRPC, and asynchronous message-based communication using message queues (e.g., Kafka, RabbitMQ) or event streams.

Term

What are the key characteristics of RESTful API design?

Definition

RESTful APIs are stateless, use standard HTTP methods (GET, POST, PUT, DELETE), operate on resources identified by URIs, and often return data in JSON or XML format. They emphasize a client-server architecture and uniform interface.