Spring Modulith 2.1 GA 출시! 이벤트 처리 및 테스트 기능 강화
Spring Modulith 2.1 GA 버전이 공식 출시되어 새로운 기능을 포함함
이벤트 외부화 아웃박스(Event Externalization Outbox) 기능에 Namastack 및 JobRunr 지원 추가
애플리케이션 모듈 테스트(Application Module Testing) 지원 강화 및 관측 가능성(Observability) 인프라 간소화
이벤트 외부화 아웃박스(Event Externalization Outbox) 지원 강화
이번 릴리스는 이벤트 외부화 아웃박스(Event Externalization Outbox) 패턴 구현을 위한 지원을 확장하는 데 중점을 둔다.
Namastack 및 JobRunr 통합: Namastack과 JobRunr 라이브러리를 활용하여 이벤트 외부화 아웃박스 기능을 구현할 수 있게 되었다.
데이터 일관성(Data Consistency) 보장: 이 패턴은 데이터베이스 트랜잭션과 이벤트 발행을 원자적으로 처리하여, 데이터 변경과 이벤트 발행 간의 최종 일관성(Eventual Consistency)을 보장하는 데 도움을 준다.
내결함성(Fault Tolerance) 향상: 실패 시 재시도 메커니즘을 통해 이벤트 유실을 방지하고 시스템의 안정성(Stability)을 높이는 데 기여한다.
애플리케이션 모듈 테스트(Application Module Testing) 지원
Spring Modulith 2.1은 Spring Boot의 슬라이스 테스트(Slice Test) 지원과 결합하여 애플리케이션 모듈 테스트(Application Module Testing)를 용이하게 한다.
모듈 격리(Module Isolation): 각 모듈의 기능을 독립적으로 테스트할 수 있어, 테스트의 격리성(Test Isolation)과 속도(Speed)를 향상시킨다.
의존성 관리(Dependency Management): 슬라이스 테스트를 통해 특정 모듈에 필요한 의존성만 로드하여 테스트 환경 설정의 복잡성을 줄인다.
개발 생산성(Developer Productivity) 증대: 모듈별 테스트 용이성은 버그 조기 발견 및 코드 품질 유지에 기여한다.
이벤트 가시성(Event Visibility) 및 관측 가능성(Observability) 개선
이번 릴리스는 PublishedEvents 및 Scenario API를 개선하여 이벤트 흐름에 대한 가시성을 높였다.
크로스 스레드 이벤트(Cross-Thread Events) 기본 지원: 이제 기본적으로 모든 스레드에서 발생하는 이벤트를 확인할 수 있어, 분산 환경에서의 디버깅(Debugging in Distributed Environments)이 용이해진다.
관측 가능성 인프라(Observability Infrastructure) 간소화: 이벤트 발행 및 소비 관련 메트릭(Metrics)과 추적(Tracing)을 위한 인프라 설정이 간소화되어, 시스템 상태 모니터링(System Health Monitoring)이 효율적으로 이루어진다.
문제 해결 시간(Mean Time To Resolution, MTTR) 단축: 이벤트 흐름에 대한 명확한 이해는 문제의 근본 원인(Root Cause)을 신속하게 파악하는 데 도움을 준다.