quyennv.com

Senior DevOps Engineer · Healthcare, Singapore

A Pattern Language for Microservices

#microservices#architecture#patterns#devops#distributed-systems

microservices.io by Chris Richardson offers a pattern language for microservice architectures: a structured set of patterns that answer how to decompose, communicate, deploy, and operate services. This post summarizes that language by category and links to the source so you can go deeper on each pattern.

A pattern language for microservices — overview of categories: architectural style, service boundaries, refactoring, service collaboration, transactional messaging, testing, deployment, cross-cutting concerns, communication, external API, service discovery, reliability, security, observability, UI design

Source: microservices.io — A pattern language for microservices. Pattern language by Chris Richardson.

Architectural style

PatternSummary
Monolithic architectureLink - Single deployable unit.
Microservice architectureLink - Independently deployable, loosely coupled services.

Service boundaries

PatternSummary
Decompose by business capabilityLink
Decompose by subdomainLink
Self-contained serviceLink
Service per teamLink

Refactoring

PatternSummary
Strangler applicationLink
Anti-corruption layerLink

Service collaboration

PatternSummary
Database per serviceLink
Shared databaseLink
SagaLink
Command-side replicaLink
API compositionLink
CQRSLink
Domain eventLink
Event sourcingLink

Transactional messaging

PatternSummary
Transactional outboxLink
Transaction log tailingLink
Polling publisherLink

Testing

PatternSummary
Consumer-driven contract testLink
Consumer-side contract testLink
Service component testLink

Deployment

PatternSummary
Multiple/Service instance per host, VM, containerLink
Serverless deploymentLink
Service deployment platformLink

Cross-cutting concerns

PatternSummary
Microservice chassisLink
Externalized configurationLink
Service templateLink

Communication

PatternSummary
RPILink
MessagingLink
Domain-specific protocolLink
Idempotent consumerLink

External API

PatternSummary
API gateway / BFFLink

Service discovery

PatternSummary
Service registry, Client/Server-side discovery, Self/3rd party registrationLink

Reliability

PatternSummary
Circuit breakerLink

Security

PatternSummary
Access tokenLink

Observability

Log aggregation, Application metrics, Audit logging, Distributed tracing, Exception tracking, Health check API, Log deployments. See microservices.io observability.

UI design

PatternSummary
Server-side / Client-side UI compositionLink

Summary

See microservices.io patterns index and the PDF summary. Book: Microservices Patterns by Chris Richardson.

← All posts

Comments