목록 보기
putlfAbsent()의 한계와 변경감지 개선
백엔드

putlfAbsent()의 한계와 변경감지 개선

넥스트리
넥스트리
2026년 6월 25일

두줄요약

실시간 모니터링에서 계산식 메타데이터 동기화 문제를 다뤘습니다. `putIfAbsent()` 한계를 보완하기 위해 `replace()`로 변경 감지와 이벤트 발행을 개선했습니다.

문제 상황

  • 실시간 모니터링 시스템에서 계산식 메타데이터를 서비스 간 동기화해야 하는 요구
  • putIfAbsent() 기반 구조로는 계산식 변경 감지와 변경 이벤트 발행이 불가능한 한계
  • 센서 신호 구성에 따라 동일한 계산식의 내용이 달라질 수 있는 운영 시나리오

원인 분석

  • 초기에는 계산식이 최초 생성 후에는 변경되지 않는다는 전제
  • putIfAbsent() 는 기존 키가 있으면 비교나 갱신 없이 종료
  • 동시 수정 상황에서 단순 조회 후 비교 방식은 중복 이벤트 위험

해결 방법

  • replace(key, oldValue, newValue) 로 기존 값과 일치할 때만 교체
  • 교체 성공 시에만 변경 이벤트 발행
  • 다중 스레드 환경에서 변경 감지와 중복 이벤트 방지 동시 처리

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...