Architektur: Resilience Boundary

Client
  |
  v
RateLimitingFilter
  |
  v
REST Controller
  |
  v
AcceptOrderUseCase
  |
  v
ResilientPaymentGateway
  |
  +-- Bulkhead
  +-- CircuitBreaker
  +-- Retry
  +-- TimeLimiter
  |
  v
WireMock Payment Provider

← Zurueck zum Index

Warum als Decorator?

Der fachliche Port PaymentGateway bleibt stabil. Der echte Provider wird durch einen Resilience Decorator geschützt. Dadurch muss der Use Case nichts über Retry, Timeout oder Circuit Breaker wissen.

Fehlergrenze

PaymentProviderUnavailableException übersetzt technische Fehler in einen stabilen API-Fehler. Clients bekommen nicht zufällig Stacktraces oder Providerdetails.

⌂ Cockpit