Files
meldestelle/infrastructure/gateway/README-INFRA-GATEWAY.md
T
StefanMo b35c4087a2 Fix: Test-Commit für VCS-Integration (MP-8) (#15)
* MP-8 OTHER Implementiere JWT-Authentifizierungs-Filter im Gateway

* Fix(ci): Update upload-artifact action to v4

* Fix(ci): Add start command for Keycloak and failure logs

* Fix(ci): Remove invalid 'command' property from Keycloak service

* Fix(ci): Use KC_DEV_MODE env var to start Keycloak

* Fix(ci): Keycloak service was removed from GitHub Actions services and replaced with a manual docker run step that starts Keycloak with the start-dev command.

* dev(ci): vereinheitliche Keycloak auf 26.4.2; aktiviere Health im CI (MP-8)

* Fix(ci): Stabilize Keycloak startup in integration tests via matrix

- Add `dev-file` Keycloak variant to matrix for stability fallback.
- Improve wait logic and health checks for Keycloak and Postgres.
- Unify Keycloak version to 26.4.2 across codebase.
- Add log dumps on failure.

* Fix(ci): Die betroffene Datei docs/Visionen-Ideen/Infrastruktur-Strategie_DSGVO-Konformität.md endet aktuell mit genau einer leeren Zeile (Zeile 87). Das entspricht der Regel MD047 („Files should end with a single newline character“). Damit ist deine Korrektur korrekt.

* Fix(ci): Repository-wide auto-fix for Markdown files was implemented with a GitHub Actions workflow and a local helper script. EditorConfig and markdownlint ignore files were added to ensure consistent formatting. Instructions for using the auto-fix both via GitHub Actions and locally were provided.

* fix(gradle): build.gradle.kts jsBrowser testTask disabled

* fix(gradle): build.gradle.kts jsBrowser testTask disabled

* Fix(ci): Stabilize integration tests with Keycloak matrix build (MP-8)

Introduces a matrix strategy (`keycloak_db: [postgres, dev-file]`)
in the integration-tests workflow to mitigate flaky Keycloak starts
when using the Postgres service container.

- Adds a `dev-file` Keycloak variant for stability fallback.
- Improves wait logic and health checks for Keycloak/Postgres.
- Unifies Keycloak version to 26.4.2 across codebase (Dockerfile, Compose,
  ADR, README, tests).
- Adds log dumps on failure in CI.
- Ensures `KC_HEALTH_ENABLED=true` is set.
- Updates related documentation (README, Schlachtplan).
- Includes broader Docker SSoT cleanup (versions.toml as source,
  script updates, env file cleanup, validator hardening).

This resolves recurring CI failures related to Keycloak startup and
ensures required checks for PRs (#15) are reliable, while also
improving overall Docker build consistency.

* feat(docs, ci): Implement YouTrack SSoT strategy with Dokka sync (MP-8)

- Add Dokka multi-module Gradle configuration and KDoc style guide.
- Add GitHub Actions workflow (docs-kdoc-sync.yml) and Python script
  (youtrack-sync-kb.py) to sync Dokka GFM output to YouTrack KB.
- Extend front-matter schema (bc, doc_type) and update relevant pages/stubs.
- Adapt CI scripts (validate-frontmatter, check-docs-drift, ci-docs link ignore).
- Update README.md to reference YouTrack KB.

* feat(docs, ci): Implement YouTrack SSoT strategy with Dokka sync (MP-8)

- Add Dokka multi-module Gradle configuration and KDoc style guide.
- Add GitHub Actions workflow (docs-kdoc-sync.yml) and Python script
  (youtrack-sync-kb.py) to sync Dokka GFM output to YouTrack KB.
- Extend front-matter schema (bc, doc_type) and update relevant pages/stubs.
- Adapt CI scripts (validate-frontmatter, check-docs-drift, ci-docs link ignore).
- Update README.md to reference YouTrack KB.

* Fix(ci): Replace OpenAPI validator with Spectral

Replaces the deprecated 'char0n/swagger-editor-validate' action,
which failed due to sandbox issues in GitHub Actions, with the
modern '@stoplight/spectral-cli'.

This ensures robust OpenAPI specification validation without
requiring a headless browser environment. The 'generate-api-docs'
job now depends on the successful completion of the Spectral validation.

Part of resolving CI failures for PR #15 (MP-8).

* Fix(ci): Specify spectral:oas ruleset for OpenAPI validation (MP-8)

* Fix(ci): Remove explicit ruleset argument for Spectral validation (MP-8)

* Fix(ci): Added a .spectral.yaml file to fix Spectral linting errors. Corrected markdown lint issues in two documentation files. Updated README.md with a new guidelines section to fix link validation errors.

* Fix(ci): Markdownlint errors were fixed by adding required blank lines. The Guidelines Validation error was resolved by updating the README.md link. The API Documentation Generator workflow was stabilized by updating paths, tasks, and validation steps.

* Fix(ci): Alle vier fehlerhaften GitHub-Action-Prüfungen wurden behoben. Fehler in der OpenAPI-Spezifikation, Probleme mit der Markdown-Linting-Analyse und Validierungsfehler bei Querverweisen wurden korrigiert. Die README.md enthält nun alle erforderlichen Links zu den Richtlinien.

* Fix(ci): Markdown linting errors in docs/api/README.md were fixed by specifying languages in fenced code blocks. OpenAPI specification errors in documentation.yaml were resolved by correcting example property types to strings. Cross-reference validation errors in README.md were fixed by adding the missing link to project-standards/coding-standards.md.

* Fix(ci): Duplicate heading errors in docs/api/members-api.md were fixed. Cross-reference validation errors for docker-architecture.md were resolved. All originally reported issues passed validation successfully.

* Fix(ci): The markdown heading levels in docs/api/members-api.md were corrected from h5 to h4 to fix linting errors. The missing cross-reference link from technology-guides/docker/docker-development.md to docker-overview.md was added. These fixes resolved the original validation and linting errors causing the process to fail.

* Fix(ci): Duplicate heading warnings in docs/api/members-api.md were resolved. Cross-reference validation for docker-development.md to docker-architecture.md was fixed. A new unrelated warning about docker-production.md was identified but not addressed.

* refactor(ci,docs): Simplify CI pipeline and migrate docs to YouTrack SSoT

BREAKING CHANGE: Documentation structure radically simplified

- Consolidate 9 GitHub Actions workflows into 1 main pipeline (ci-main.yml)
- Remove redundant workflows: ci-docs, markdownlint-autofix, guidelines-validation, api-docs
- Delete documentation migrated to YouTrack: api/, BCs/, Visionen-Ideen/, reference/, now/, overview/
- Keep only ADRs, C4 diagrams, and essential dev guides in repo
- Update README.md with YouTrack KB links
- Create new docs/README.md as documentation gateway
- Relax markdown-lint config for pragmatic developer experience

Kept workflows:
- ssot-guard.yml (Docker SSoT validation)
- docs-kdoc-sync.yml (KDoc → YouTrack sync)
- integration-tests.yml (Integration tests)
- deploy-proxmox.yml (Deployment)
- youtrack-sync.yml (YouTrack integration)

Related: MP-DOCS-001

* refactor(ci,docs): Simplify CI pipeline and migrate docs to YouTrack SSoT

BREAKING CHANGE: Documentation structure radically simplified

- Consolidate 9 GitHub Actions workflows into 1 main pipeline (ci-main.yml)
- Remove redundant workflows: ci-docs, markdownlint-autofix, guidelines-validation, api-docs
- Delete documentation migrated to YouTrack: api/, BCs/, Visionen-Ideen/, reference/, now/, overview/
- Keep only ADRs, C4 diagrams, and essential dev guides in repo
- Update README.md with YouTrack KB links
- Create new docs/README.md as documentation gateway
- Relax markdown-lint config for pragmatic developer experience

Kept workflows:
- ssot-guard.yml (Docker SSoT validation)
- docs-kdoc-sync.yml (KDoc → YouTrack sync)
- integration-tests.yml (Integration tests)
- deploy-proxmox.yml (Deployment)
- youtrack-sync.yml (YouTrack integration)

Related: MP-DOCS-001

* refactor(ci,docs): README.md und einige andere Dokumentationen überarbeitet.
ports-and-urls.md hinzugefügt.
Related: MP-DOCS-001

* refactor(ci,docs): Die Markdownlint-Fehler in README.md und docs/README.md wurden behoben, indem die Überschriftenebenen angepasst, überflüssige Satzzeichen am Ende entfernt und die notwendigen Leerzeilen um Überschriften, Listen, Tabellen und Codeblöcke eingefügt wurden. Das problematische Leerzeichen am Ende in docs/README.md wurde ebenfalls entfernt. Die Dateien entsprechen nun den vorgegebenen Markdownlint-Regeln und sollten die CI-Validierung bestehen.
Related: MP-DOCS-001

* refactor(ci,docs): Docker guideline cross-references were fixed and normalized to lowercase labels. Validation scripts confirmed zero cross-reference warnings and consistent metadata. Documentation was updated with a changelog and enhanced README navigation.
Related: MP-DOCS-001

* refactor(ci,docs): Docker guideline cross-references were fixed and normalized to lowercase labels. Validation scripts confirmed zero cross-reference warnings and consistent metadata. Documentation was updated with a changelog and enhanced README navigation.
Related: MP-DOCS-001

* refactor(ci,docs): Dead links in docs/architecture/adr were fixed by updating URLs to stable sources and adding an ignore pattern for a placeholder link. Specific ADR files had their broken links replaced with valid ones. The markdown-link-check GitHub Action is expected to pass with zero dead links now.
Related: MP-DOCS-001

* refactor(ci,docs): Links in ADR checked
Related: MP-DOCS-001

* refactor(ci,docs): Links in ADR checked
Related: MP-DOCS-001

* refactor(ci,docs): Markdown Regeln ausgebessert
Related: MP-DOCS-001

* refactor(ci,docs): Markdown Regeln ausgebessert
Related: MP-DOCS-001

* refactor(ci,docs): Markdown Regeln ausgebessert
Related: MP-DOCS-001

* Chore: Rerun CI checks with updated branch protection rules
2025-11-07 12:26:33 +01:00

16 KiB

Infrastructure/Gateway Module - Comprehensive Documentation

Überblick

Das API-Gateway ist der zentrale und einzige öffentliche Einstiegspunkt für alle Anfragen von externen Clients (z.B. Web-Anwendung, Desktop-Anwendung, mobile Apps) an das Meldestelle-System. Es fungiert als "Pförtner" für die gesamte Microservice-Landschaft und wurde zu einem vollwertigen, produktionstauglichen API Gateway mit modernen Best Practices erweitert.

Wichtiger Grundsatz: Kein externer Client sollte jemals direkt mit einem internen Microservice kommunizieren. Alle Anfragen laufen über das Gateway.

Architektur und Technologie

Das Gateway ist als eigenständiger Spring Boot Service implementiert und nutzt Spring Cloud Gateway als technologische Grundlage. Spring Cloud Gateway ist ein reaktives, nicht-blockierendes Framework, das sich nahtlos in das Spring-Ökosystem integriert.

Technologie-Stack

  • Spring Boot 3.x - Moderne Spring Boot Anwendung
  • Spring Cloud Gateway - Reaktives Gateway Framework
  • Spring WebFlux - Reaktive Web-Programmierung mit Netty
  • Resilience4j - Circuit Breaker Pattern Implementation
  • Consul - Service Discovery und Health Checks
  • Micrometer + Prometheus - Umfassende Metriken und Monitoring
  • JWT - Token-basierte Authentifizierung
  • Reactive Streams - Non-blocking I/O für optimale Performance

Hauptverantwortlichkeiten

Das Gateway handhabt alle Cross-Cutting Concerns (übergreifende Belange), die für mehrere oder alle Microservices gelten und entlastet damit die Fach-Services von technischen Aufgaben.

1. Dynamisches Routing

  • Service Discovery Integration: Vollständige Consul Integration für automatische Service-Erkennung
  • Load Balancing: Intelligente Lastverteilung zwischen Service-Instanzen
  • Health-basiertes Routing: Weiterleitung nur an gesunde Service-Instanzen

Verfügbare Routen:

  • /api/members/** → members-service
  • /api/horses/** → horses-service
  • /api/events/** → events-service
  • /api/masterdata/** → masterdata-service
  • /api/auth/** → auth-service
  • /api/ping/** → ping-service

2. Sicherheit und Authentifizierung

  • JWT Security Enforcement: Validierung von Bearer Tokens für alle geschützten Endpunkte
  • Public Path Exemptions: Konfigurierbare öffentliche Pfade (/, /health, /actuator/**, /api/auth/login)
  • User Context Injection: Automatische Weiterleitung von User-ID und Rolle an Backend Services
  • Standardisierte Fehlerbehandlung: Strukturierte 401 Unauthorized Responses

3. Rate Limiting

  • Intelligentes Rate Limiting basierend auf User-Typ:
    • Anonymous Users: 50 Anfragen pro Minute
    • Authenticated Users: 200 Anfragen pro Minute
    • Admin Users: 500 Anfragen pro Minute
  • IP-basierte Limits: Schutz vor DDoS-Attacken
  • Custom Headers: X-RateLimit-* Header für Client-Information

4. Circuit Breaker und Resilienz

  • Service-spezifische Circuit Breaker: Resilience4j Integration für jeden Backend Service
  • Fallback Mechanismen: Benutzerfreundliche Fehlermeldungen bei Service-Ausfällen
  • Retry Logic: Automatische Wiederholungen bei transienten Fehlern
  • Graceful Degradation: Systembetrieb auch bei partiellen Service-Ausfällen

5. Monitoring und Observability

Das Gateway implementiert umfassende Observability durch eine vollständig integrierte Micrometer-basierte Metriken-Architektur.

Automatische Metriken-Erfassung (GatewayMetricsConfig)

  • Request Duration Tracking: Automatische Messung aller Request-Response Zyklen
    • Metric: gateway_request_duration (Timer)
    • Tags: method, path, status, status_series
    • Percentile-basierte Auswertung (P50, P90, P95, P99)
  • Error Rate Monitoring: Detailliertes Error-Tracking für 4xx/5xx Responses
    • Metric: gateway_errors_total (Counter)
    • Tags: method, path, status, status_series, error_type
    • Unterscheidung zwischen client_error und server_error
  • Request Volume Tracking: Vollständige Request-Volumen Überwachung
    • Metric: gateway_requests_total (Counter)
    • Tags: method, path für detaillierte Analyse
  • Circuit Breaker Events: Monitoring von Resilience-Pattern Events
    • Metric: gateway_circuit_breaker_events_total (Counter)
    • Integration mit Resilience4j Circuit Breaker Status

Intelligente Pfad-Normalisierung

  • Kardinalitäts-Kontrolle: Automatische Normalisierung von dynamischen Pfaden
    • /api/horses/123/api/horses/{id}
    • UUID-Pattern → /{uuid}
    • Sehr lange Pfade werden gekürzt (100+ Zeichen)

Health Monitoring Integration

  • Downstream Service Health: Umfassende Überwachung aller Backend Services
    • Kritische Services: Members, Horses, Events, Masterdata, Auth
    • Optionale Services: Ping Service
    • Circuit Breaker Status Integration
  • Distributed Tracing: Korrelations-ID basiertes Request-Tracking
  • Strukturierte Logs: JSON-Format für maschinelle Auswertung

Prometheus Export

  • Automatischer Export: Alle Metriken werden automatisch an Prometheus exportiert
  • Common Tags: Alle Metriken erhalten automatisch Service- und Component-Tags
  • Filter-Optimierung: Rauschen-reduzierende Metrik-Filter für interne Spring/Netty Metriken

6. CORS-Management

  • Produktionstaugliche CORS-Konfiguration:
    • Erlaubte Origins: https://*.meldestelle.at, http://localhost:*
    • Alle HTTP-Methoden (GET, POST, PUT, DELETE, PATCH, OPTIONS)
    • Credential-Support für authentifizierte Anfragen

Implementierte Optimierungen

Gateway-Konfiguration (application.yml)

Vollständige Service-Routen: Routing für alle Business Services Circuit Breaker Integration: Service-spezifische Resilience4j Konfigurationen Connection Pooling: Optimierte HTTP-Client-Konfiguration Security Headers: Umfassende Sicherheits-Header (X-Content-Type-Options, X-Frame-Options, X-XSS-Protection) Enhanced Logging: Strukturierte Logs mit Korrelations-IDs und Performance-Daten

Health Monitoring (GatewayHealthIndicator.kt)

Downstream Service Monitoring: Überwachung aller kritischen Services Service Discovery Integration: Consul-basierte Service-Erkennung Test-Environment Handling: Graceful Degradation in Test-Umgebungen Detailliertes Error Reporting: Umfassende Statusinformationen

Build-Optimierungen (build.gradle.kts)

SINGLE SOURCE OF TRUTH: Alle Dependencies über libs.versions.toml Build Info Generation: Automatische Build-Metadaten Modern Kotlin Compiler: Optimierte Compiler-Einstellungen Dependency Optimization: Bereinigung redundanter Dependencies

Docker-Optimierungen (Dockerfile)

Multi-Stage Build: Spring Boot Layer-Extraktion für 90%+ besseres Caching Security Hardening: Non-root User, Security Updates OCI Compliance: Vollständige Container-Metadaten Production-Ready: Optimierte JVM-Settings für Container-Umgebung

Metriken-Integration (GatewayMetricsConfig.kt)

Comprehensive Micrometer Integration: Vollständige Metriken-Erfassung mit automatischem Prometheus Export Request/Response Time Tracking: Detaillierte Performance-Metriken mit Percentile-Auswertung Error Rate Monitoring: Intelligente Fehler-Klassifikation und -Tracking Path Normalization: Kardinalitäts-kontrolle für dynamische API-Pfade Circuit Breaker Metrics: Integration mit Resilience4j Event-Tracking Custom Business Metrics: Erweiterbare Metrik-Architektur für fachliche KPIs

Dokumentation

OpenAPI 3.0.3 Spezifikation: Vollständige API-Dokumentation mit Members Service Interactive Swagger UI: Modern dokumentierte API-Endpunkte Static HTML Documentation: Responsive, moderne Dokumentations-Website Health Monitoring Integration: Real-time Status-Informationen

Performance und Reliability

Netty Server Optimierungen

  • Connection Timeouts: 5 Sekunden für optimale Responsiveness
  • Idle Timeout: 15 Sekunden für effiziente Resource-Nutzung
  • Elastic Connection Pool: Automatische Skalierung basierend auf Load

Circuit Breaker Konfiguration

  • Sliding Window: 100 Anfragen für Default, service-spezifische Anpassungen
  • Failure Rate Threshold: 50% für Standard-Services, 30% für Auth-Service
  • Half-Open State: 3 Test-Anfragen für Service-Recovery

JVM Optimierungen (Container)

JAVA_OPTS="-server -Xmx512m -Xms256m -XX:+UseG1GC
           -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"

API Gateway Request Flow

Ein typischer Anfrage-Flow:

  1. Client Request: https://api.meldestelle.at/api/members/123
  2. Gateway Empfang: Anfrage wird vom Spring Cloud Gateway empfangen
  3. Filter-Pipeline:
    • Security Filter: JWT-Validierung
    • Rate Limiting Filter: Anfrage-Limits prüfen
    • Correlation Filter: Trace-ID generieren
    • Logging Filter: Request-Details erfassen
  4. Service Discovery: Consul-Abfrage für verfügbare members-service Instanzen
  5. Load Balancing: Intelligente Auswahl einer gesunden Instanz
  6. Circuit Breaker: Überwachung der Service-Verfügbarkeit
  7. Request Forwarding: Weiterleitung an Backend Service
  8. Response Processing: Antwort-Verarbeitung und Header-Enrichment
  9. Client Response: Strukturierte Antwort an Client

Monitoring und Health Checks

Actuator Endpunkte

  • /actuator/health - Umfassender Health Status aller Services
  • /actuator/metrics - Prometheus-kompatible Metriken
  • /actuator/info - Anwendungs- und Build-Informationen
  • /actuator/gateway - Gateway-spezifische Routing-Informationen
  • /actuator/circuitbreakers - Circuit Breaker Status

Key Performance Indicators (KPIs)

Automatisch erfasste Metriken

  • Request Throughput: gateway_requests_total - Anfragen pro Sekunde nach Method/Path
  • Response Times: gateway_request_duration - P50, P90, P95, P99 Percentile nach Status
  • Error Rates: gateway_errors_total - 4xx/5xx Response Codes mit Error-Type Klassifikation
  • Circuit Breaker Events: gateway_circuit_breaker_events_total - Resilience Pattern Aktivierungen
  • Service Availability: Upstream Service Health via Health Indicators

Verfügbare Metric Tags für detaillierte Analyse

  • method: HTTP-Method (GET, POST, PUT, DELETE, etc.)
  • path: Normalisierter API-Pfad (z.B. /api/horses/{id})
  • status: HTTP-Status-Code (200, 404, 500, etc.)
  • status_series: Status-Gruppe (2xx, 3xx, 4xx, 5xx)
  • error_type: Fehler-Klassifikation (client_error, server_error)
  • service: Automatisches "gateway" Tag
  • component: Automatisches "infrastructure" Tag

Prometheus Query Beispiele

# Request Rate pro Endpunkt
rate(gateway_requests_total[5m])

# 95. Percentile Response Time
histogram_quantile(0.95, rate(gateway_request_duration_bucket[5m]))

# Error Rate nach Service
rate(gateway_errors_total[5m]) / rate(gateway_requests_total[5m])

# Circuit Breaker Aktivierungen
increase(gateway_circuit_breaker_events_total[1h])

Security Features

JWT Authentication

  • Bearer Token Validation: Automatische JWT-Verifikation
  • Role Extraction: User-Rolle für Backend Services verfügbar
  • Token Refresh: Unterstützung für Token-Erneuerung
  • Public Endpoints: Konfigurierbare Ausnahmen für öffentliche APIs

Security Headers

X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
Cache-Control: no-cache, no-store, must-revalidate

Development und Testing

Local Development

WICHTIG: Alle Befehle müssen aus dem Projekt-Root-Verzeichnis (/home/stefan/WsMeldestelle/Meldestelle) ausgeführt werden.

# Sicherstellen, dass Sie im richtigen Verzeichnis sind
cd /home/stefan/WsMeldestelle/Meldestelle

# Gateway starten
./gradlew :infrastructure:gateway:bootRun

# Mit Docker
docker build -t meldestelle/gateway:latest -f infrastructure/gateway/Dockerfile .
docker run -p 8080:8080 meldestelle/gateway:latest

📖 Detaillierte Startup-Anleitung: Siehe GATEWAY-STARTUP-GUIDE.md im Projekt-Root für vollständige Befehle und Fehlerbehebung.

Testing

# Unit Tests
./gradlew :infrastructure:gateway:test

# Integration Tests (mit Testcontainers)
./gradlew :infrastructure:gateway:integrationTest

Konfiguration

Environment Variables

SPRING_PROFILES_ACTIVE=prod
CONSUL_HOST=consul.meldestelle.at
CONSUL_PORT=8500
GATEWAY_ADMIN_USER=admin
GATEWAY_ADMIN_PASSWORD=secure-password

Profile-spezifische Konfiguration

  • dev: Entwicklungsumgebung mit Debug-Logging
  • test: Test-Umgebung mit Mock Services
  • prod: Produktionsumgebung mit allen Security Features

Deployment

Docker Deployment

# Multi-stage Build mit Layer Caching
docker build -t meldestelle/gateway:1.0.0 \
  -f infrastructure/gateway/Dockerfile .

# Container starten
docker run -d \
  --name gateway \
  -p 8080:8080 \
  -e SPRING_PROFILES_ACTIVE=prod \
  -e CONSUL_HOST=consul \
  meldestelle/gateway:1.0.0

Kubernetes Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: api-gateway
spec:
  replicas: 3
  selector:
    matchLabels:
      app: api-gateway
  template:
    spec:
      containers:
      - name: gateway
        image: meldestelle/gateway:1.0.0
        ports:
        - containerPort: 8080
        livenessProbe:
          httpGet:
            path: /actuator/health
            port: 8080
          initialDelaySeconds: 90
          periodSeconds: 30

Troubleshooting

Häufige Probleme

Service Discovery Issues

  • Consul Connectivity prüfen
  • Service Registration Status überprüfen
  • DNS Resolution testen

Circuit Breaker Activation

  • Service Health Status prüfen
  • Failure Rate Threshold analysieren
  • Manual Circuit Breaker Reset über Actuator

Performance Issues

  • Connection Pool Metrics analysieren
  • JVM Heap Usage monitoring
  • Request Rate Limiting überprüfen

Metriken und Monitoring Issues

  • Prometheus Scraping Endpunkt prüfen: /actuator/prometheus
  • Metrics Registry Status überprüfen: /actuator/metrics
  • GatewayMetricsWebFilter Aktivierung validieren
  • Metric Tags auf Kardinalitäts-Explosion prüfen
  • Path Normalization bei unerwarteten Metric-Namen

Logging und Debugging

# Logs mit Korrelations-IDs
docker logs gateway | grep "correlationId"

# Circuit Breaker Status
curl http://localhost:8080/actuator/circuitbreakers

# Health Details
curl http://localhost:8080/actuator/health

Zukünftige Erweiterungen

Geplante Features

  • OAuth2/OIDC Integration: Erweiterte Authentifizierung
  • GraphQL Gateway: Unified GraphQL Interface
  • Caching Layer: Redis-basiertes Response Caching
  • Request/Response Transformation: Dynamic Content Modification

Performance Optimierungen

  • HTTP/2 Support: Moderne Protocol-Unterstützung
  • Connection Pooling Tuning: Erweiterte Pool-Konfiguration
  • Reactive Streams Optimization: Backpressure Handling

Dokumentation und Ressourcen

API Dokumentation

  • Swagger UI: /swagger - Interactive API Documentation
  • OpenAPI Spec: /openapi - Machine-readable API Specification
  • Static Documentation: /docs - Comprehensive Documentation Hub

Monitoring Dashboards

  • Health Status: /actuator/health - Real-time Service Health
  • Metrics: /actuator/metrics - Prometheus Metrics
  • Gateway Routes: /actuator/gateway/routes - Active Route Information

Letzte Aktualisierung: 14. August 2025

Version: 1.1.0

Maintainer: Meldestelle Development Team


Diese Dokumentation wurde umfassend aktualisiert und um die neue Micrometer Metrics Integration (GatewayMetricsConfig.kt) erweitert. Sie dokumentiert alle implementierten Optimierungen einschließlich der vollständigen Observability-Architektur mit automatischer Request/Response Zeit Messung, Error Rate Tracking und Custom Business Metrics.