Capsule Informatiche di Lello De Luca
← Tutti gli Hub

HUB DI CONOSCENZA · 60 CAPSULE

Design Pattern dei Microservizi

Pattern architetturali e applicativi per progettare microservizi, governare dati ed eventi, costruire resilienza e modernizzare sistemi legacy.

Mappa delle famiglie e dei principali design pattern per microservizi
Mappa delle principali famiglie di Design Pattern per Microservizi
Saga Orchestration
Dati e Consistenza Distribuita 7 min

Saga Orchestration

Usare un orchestratore che mantiene lo stato della Saga e invia comandi ai partecipanti, decidendo step successivi e compensazioni.

Apri la capsula →
Strangler Fig Pattern
Modernizzazione Legacy 8 min

Strangler Fig Pattern

Affiancare il nuovo sistema al legacy, spostando progressivamente capability e traffico attraverso un livello di routing fino a poter eliminare le parti sostituite.

Apri la capsula →
Sidecar Pattern
Architettura a Microservizi 7 min

Sidecar Pattern

Affiancare al processo applicativo un componente con ciclo di vita collegato che fornisce proxy, telemetry, certificate management o altre capability trasversali.

Apri la capsula →
API Gateway Pattern
Integrazione tra Microservizi 8 min

API Gateway Pattern

Esporre un punto d'ingresso che instrada le API e applica concern trasversali come autenticazione, TLS, rate limiting e correlation ID.

Apri la capsula →
Branch Pattern
Integrazione tra Microservizi 6 min

Branch Pattern

Eseguire in parallelo le chiamate indipendenti e aggregare i risultati, controllando timeout e failure parziali.

Apri la capsula →
Microfrontend
Frontend Distribuito 8 min

Microfrontend

Suddividere il frontend in vertical slice con ownership chiara, integrati da una shell e da contratti di composizione.

Apri la capsula →
CQRS
Dati e Consistenza Distribuita 8 min

CQRS

Separare command model e query/read model, eventualmente con storage, schemi e scalabilità differenti.

Apri la capsula →
Event Sourcing
Dati e Consistenza Distribuita 9 min

Event Sourcing

Persistire la sequenza immutabile degli eventi di dominio e derivare lo stato applicando gli eventi in ordine.

Apri la capsula →
Transactional Outbox
Dati e Consistenza Distribuita 9 min

Transactional Outbox

Salvare l'evento in una tabella outbox nella stessa transazione del dato di business e pubblicarlo successivamente con un relay affidabile.

Apri la capsula →
Inbox Pattern
Dati e Consistenza Distribuita 7 min

Inbox Pattern

Registrare gli identificativi dei messaggi processati in una inbox locale e usare tale registro per deduplicare.

Apri la capsula →
Idempotent Consumer
Dati e Consistenza Distribuita 7 min

Idempotent Consumer

Progettare il consumer affinché ripetere la stessa operazione produca lo stesso risultato osservabile e non side effect duplicati.

Apri la capsula →
Domain Event
Event-Driven Architecture 7 min

Domain Event

Pubblicare eventi al passato che rappresentano fatti già avvenuti e significativi per il dominio.

Apri la capsula →
Log Aggregation
Observability 7 min

Log Aggregation

Centralizzare i log di tutti i servizi in una piattaforma ricercabile, preservando servizio, ambiente, timestamp, trace/correlation ID e campi di dominio consentiti.

Apri la capsula →
Metriche, RED e USE
Observability 8 min

Metriche, RED e USE

Misurare servizi con RED (Rate, Errors, Duration) e risorse con USE (Utilization, Saturation, Errors), aggiungendo metriche di dominio e dipendenze.

Apri la capsula →
Canary Deployment
Delivery e Runtime 7 min

Canary Deployment

Instradare una piccola percentuale di traffico verso la nuova versione, osservare metriche e aumentare progressivamente la quota.

Apri la capsula →
Branch by Abstraction
Modernizzazione Legacy 7 min

Branch by Abstraction

Introdurre un'astrazione comune, collegare vecchia e nuova implementazione e spostare gradualmente il traffico tramite configurazione o feature flag.

Apri la capsula →
Shadow Traffic
Modernizzazione Legacy 7 min

Shadow Traffic

Duplicare in modo controllato una richiesta verso il nuovo servizio e ignorarne la risposta operativa, confrontando output e metriche con il sistema attivo.

Apri la capsula →
Parallel Run
Modernizzazione Legacy 8 min

Parallel Run

Eseguire entrambi i sistemi sugli stessi input, confrontando output, latenze, errori e consistenza, mantenendo uno solo come fonte operativa finché non si raggiungono i criteri di accettazione.

Apri la capsula →
Controller
Architettura Applicativa 6 min

Controller

Limitare il Controller al protocollo: parsing e validazione superficiale della request, invocazione del caso d'uso, mapping della response e gestione degli status HTTP.

Apri la capsula →
DTO
Architettura Applicativa 6 min

DTO

Usare Data Transfer Object espliciti per request e response, versionabili indipendentemente dal modello interno.

Apri la capsula →
Domain Model
Architettura Applicativa 7 min

Domain Model

Rappresentare invarianti e comportamenti nel dominio, usando entity, value object e aggregate coerenti con il bounded context.

Apri la capsula →
Repository
Architettura Applicativa 6 min

Repository

Definire un'astrazione di persistenza orientata agli aggregate e implementarla in un adapter infrastrutturale.

Apri la capsula →
Mapper
Architettura Applicativa 6 min

Mapper

Centralizzare le trasformazioni tra rappresentazioni senza far dipendere il dominio dai formati esterni.

Apri la capsula →