08 - Funcionalidades preparadas para producción
Spring Modulith ofrece información y métricas sobre los módulos y su interacción. Estas capacidades se pueden activar por separado o mediante el starter Insight.
1. Endpoint Actuator de módulos
El soporte spring-modulith-actuator expone la estructura de módulos a través de Spring Boot Actuator. El recurso /actuator/modulith describe nombres, paquetes base, módulos anidados y dependencias entre módulos.
Para usar endpoints Actuator se necesita también la configuración general de Actuator; se debe controlar su exposición según el entorno.
2. Observabilidad de interacciones
spring-modulith-observability-core instrumenta llamadas a beans expuestos por los módulos y genera spans de Micrometer Tracing. Las trazas permiten seguir una operación que atraviesa varios módulos, incluidos los listeners de eventos.
Spring Modulith registra métricas como:
| Métrica | Uso |
|---|---|
module.events.published | Contador total de publicaciones de eventos |
module.events.published.<modulo>.<tipo> | Contador de publicaciones de un tipo de evento concreto |
Las etiquetas disponibles identifican el módulo, el evento y el tipo de invocación. ModulithEventMetricsCustomizer permite añadir etiquetas específicas a métricas de tipos de evento concretos, y ModulithObservationConvention personaliza convenciones de observación.
La exportación de trazas requiere configurar la infraestructura de observabilidad correspondiente, por ejemplo OpenTelemetry o Brave, y conectar un sistema de monitorización.
3. Starter Insight
spring-modulith-starter-insight agrega el soporte de Actuator y observabilidad para facilitar su activación. No sustituye las dependencias ni la configuración necesarias para exportar telemetría a herramientas externas.
Referencia
- [Documentación oficial: Production-ready Features](https://docs.spring.io/spring-modulith/reference/production-ready.html) (Spring Modulith 2.1.1).