모두한 블로그

  • 홈
  • 태그
  • 방명록

sheldlock 1

분산 시스템 환경에서 Scheduler 단일 동작시키기

배경외부 API를 활용해 데이터를 적재하는 기능을 개발하였습니다. 해당 로직은 스케줄러를 통해 특정한 시각에 동작하도록 개발되었습니다. 하지만 데이터가 중복으로 적재되는 문제가 발생하였습니다. 원인을 파악해 보니 ecs를 통해 다중서버가 동작하고 있어 해당하는 서버에서 스케줄러가 모두 동시에 동작하여 데이터가 중복으로 적재되고 있었습니다.아이디어데이터베이스에 Lock을 걸어 여러 스케줄러에서 해당 테이블에 대한 접근 방지여러 서버에서 스케줄러를 한 개만 동작시키기해당 테이블에 실시간으로 접근할 수 있는 데이터조차 대기상태로 만들어버릴 수 있기 때문에 1번 방법은 제외하였습니다.ShedLockShedLock 라이브러리를 사용하면 스케줄러가 실행하기 전 ShedLock 테이블을 먼저 조회해 Lock을 획득한..

Spring 2024.04.24
이전
1
다음
더보기
프로필사진

Small steps make big change

  • 분류 전체보기 (13)
    • Spring (6)
    • Programming (7)

Tag

도커, virtual thread, Redis, spring, iplimit, 넥스트스텝, java21, webflux, session storage, standardmanager, session, multipledatasource, dynamicroutingdatasource, caching, 오늘또일을미루고말았다, sheldlock, kotlin, replication, 객체지향5원칙, coroutine,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Github

Archives

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바