Spring Statemachine으로 알림 시스템 상태 관리 효율 UP!

by DD
7개월 전
조회수 8

FSM 직접 구현의 한계를 인지하고, Spring Statemachine 도입을 결정

Spring Statemachine을 활용하여 알림 메시지 상태 관리 및 전이 로직 구현

상태 머신 영속화 및 커스터마이징을 통해 확장성유지보수성 확보

Spring Statemachine 아키텍처

Spring Statemachine은 상태(State)이벤트(Event) 기반으로 동작하며, StateMachineConfigurerAdapter를 통해 상태 머신을 구성한다. 구체적으로 상태 전이(Transition)를 정의하고, ActionGuard를 구현하여 비즈니스 로직을 처리한다. 따라서 유지보수성확장성을 동시에 확보할 수 있다.

직접 구현 vs Spring Statemachine

직접 FSM을 구현하는 방식은 유연하지만, 개발 시간 증가유지보수 부담이 있다. 반면 Spring Statemachine은 검증된 기능을 제공하여 개발 속도를 높이지만, 학습 비용프레임워크 제약이 존재한다. 따라서 프로젝트 규모와 요구사항에 따라 적절한 기술 선택이 중요하다.

Spring Statemachine 커스터마이징

Spring StatemachineActionGuard 인터페이스를 직접 사용하면 결합도가 높아진다. 따라서 내부 인터페이스를 정의하고, DIP(Dependency Inversion Principle)를 적용하여 결합도를 낮춘다. 결과적으로 프레임워크 변경에 유연하게 대처하고, 코드의 재사용성을 높일 수 있다.

만능도구는 없다, 적절한 선택은 있다: Spring Statemachine으로 완성한 알림 2.0