Skip to main content
Aggregator Microservices

Intent

Streamline client's interactions with system's microservices by providing a single aggregation point that consolidates data and responses from multiple services. This simplifies the client's communication with the system, improving efficiency and reducing complexity.

Explanation


iluwatarAbout 2 minArchitecturalAPI designCloud distributedDecouplingMicroservices
API Gateway

Intent

The API Gateway design pattern aims to provide a unified interface to a set of microservices. It acts as a single entry point for clients, routing requests to the appropriate microservices and aggregating results, thereby simplifying the client-side code.

Also known as


iluwatarAbout 3 minArchitecturalAPI designCloud distributedDecouplingMicroservices
Circuit Breaker

Also known as

  • Fault tolerance switch

Intent

The Circuit Breaker pattern aims to prevent a software system from making calls to a part of the system that is either failing or showing signs of distress. It is a way to gracefully degrade functionality when a dependent service is not responding, rather than failing completely.


iluwatarAbout 6 minResilienceCloud distributedFault toleranceMicroservices
Commander

Also known as

  • Distributed Transaction Commander
  • Transaction Coordinator

Intent

The intent of the Commander pattern in the context of distributed transactions is to manage and coordinate complex transactions across multiple distributed components or services, ensuring consistency and integrity of the overall transaction. It encapsulates transaction commands and coordination logic, facilitating the implementation of distributed transaction protocols like two-phase commit or Saga.


iluwatarAbout 3 minBehavioralCloud distributedMicroservicesTransactions
Health Check Pattern

Also known as

Health Monitoring, Service Health Check

Intent

To ensure the stability and resilience of services in a microservices architecture by providing a way to monitor and diagnose their health.

Explanation

In microservices architecture, it's critical to continuously check the health of individual services. The Health Check Pattern is a mechanism for microservices to expose their health status. This pattern is implemented by including a health check endpoint in microservices that returns the service's current state. This is vital for maintaining system resilience and operational readiness.


iluwatarAbout 5 minBehavioralPerformanceMicroservicesResilienceObservability
Log aggregation

Intent

Centralize, streamline, and optimize the process of log management so that insights can be quickly
derived, problems can be swiftly identified and resolved, and the system's overall health can be
monitored efficiently.

Explanation

Real-world example

AWS CloudWatch aggregates logs from various AWS services for monitoring and alerting.


iluwatarAbout 1 minArchitecturalMicroservicesExtensibility
Version Number

Name / classification

Version Number.

Also known as

Entity Versioning, Optimistic Locking.

Intent

Resolve concurrency conflicts when multiple clients are trying to update same entity simultaneously.

Explanation

Real world example

Alice and Bob are working on the book, which stored in the database. Our heroes are making
changes simultaneously, and we need some mechanism to prevent them from overwriting each other.


iluwatarAbout 2 minConcurrencyData accessMicroservices