Salta al contingut
F2

Transport i Telemetria

FALLADES HONESTES

Pipelines d’esdeveniments, rate limits i salut de serveis amb modes de fallada honests. Quan una dependència cau, qui crida sap exactament on és. Estudi personal del problema de telemetria d’Open Gateway. No és codi de Telefónica. No és trànsit de producció.

~90ADAPTADORS EN LA LLISTA DE VIGILÀNCIA
4PAÏSOS QUE REPORTEN
3×DOWN → 1ALERTA PER EPISODI, FIXADA PER TESTS
100%INSERCIONS IDEMPOTENTS AL HUB

Diagrames del sistema

FIG. 1 — PIPELINE KAFKA: gateway → Kafka → hub → Oracle, amb un dashboard SSE en viu connectat al hub.
FIG. 2 — TOKEN BUCKET: cada decisió de quota és una operació atòmica; si Redis cau, respon el fallback local.

La demo de 45 segons

3×DOWN → 1 alert. Personal study of the Open Gateway telemetry problem — not Telefónica code, not production traffic.

La feina de la planta

F22026

Kafka Adapter Telemetry

Telemetria d’adaptadors dirigida per esdeveniments: pipeline Kafka gateway + hub amb persistència idempotent a Oracle, salut per adaptador, alertes i dashboard de missió en viu via SSE.

El problema. Una flota de ~90 adaptadors d’API a 4 països necessita visibilitat operativa: qui està DOWN, des de quan i què ha alertat ja. Construït com a estudi personal del problema de telemetria d’Open Gateway, de punta a punta.

Punts clau

  • Hexagonal per servei: el gateway publica perfils de trànsit (low/moderate/high/overload), el hub persisteix idempotentment per event id.
  • Regla d’alerta fixada per tests: 3 DOWN consecutius → exactament 1 alerta per episodi.
  • DLT amb reintents absorbeix duplicats i JSON corrupte sense bloquejar el carril.
  • demo.sh demostra el cicle complet des de zero: recomptes idempotents, una alerta, encaminament a DLT.
  • 10/10 tasques lliurades amb Spec-Driven Development; 3 ADRs; diagrames publicats automàticament a GitHub Pages per CI.
3×DOWN → 1alerta per episodi
100%insercions idempotents
10/10tasques SDD fetes

Stack: Java 25 · Spring Boot 4.1 · Kafka · Oracle · Flyway · Testcontainers · SSE

F22026

Redis Toolkit

Toolkit de rate-limiting per a gateways de LLM: quotes token-bucket atòmiques, stores connectables i modes de fallada honests — amb una demo de gateway en Javalin que exposa un endpoint estil OpenAI.

El problema. La inferència de LLM és cara: trànsit sense límits és un DoS a la teva cartera. La majoria de limitadors pateixen race conditions amb concurrència o fallen en sec quan ho fa Redis.

Punts clau

  • Cada decisió de quota es calcula de forma atòmica — mai un read-modify-write que deixi passar un token per sobre del límit.
  • En cas de fallada de Redis: fallback local elegant + mètriques sorolloses, no 5xx massius.
  • Suite de tests de contracte compartida per les implementacions in-memory i Redis, a més de tests de concurrència i de paritat.
  • Capçaleres X-RateLimit-* estàndard i 429 + Retry-After correctes.
429+ Retry-After, sempre
2stores, una suite de contracte

Stack: Java · Javalin · Redis · Testcontainers