< Hyun / Log >
close
프로필 배경
프로필 로고

< Hyun / Log >

  • 분류 전체보기 (428)
    • ◼ JAVA (67)
    • ◼ Spring (76)
    • ◼ JPA (28)
    • ◼ Thymeleaf (5)
    • ◼ DB (30)
    • ◼ 오픈소스 (16)
    • ◼ DevOps (10)
    • ◼ CS 기초 지식 (59)
      • [네트워크] (22)
      • [개발상식] (15)
      • [운영체제] (5)
      • [알고리즘] (16)
    • ◼ 트러블 슈팅 (15)
    • ◼ 기타 (6)
    • ◼ 우아한테크코스 (6)
    • ◼ 코딩테스트 (110)
      • 구현 (Implementation) (57)
      • DFS,BFS (31)
      • 완전탐색 (Bruteforce) (5)
      • 그리디 (Greedy) (6)
      • 투포인터 (Two Pointer) (2)
      • 이분탐색 (Binary Search) (1)
      • 스택, 큐 (Stack, Queue) (4)
      • DP (Dynamic Programming) (3)
      • 다익스트라 (Dijkstra) (0)
      • 구간합 (Prefix) (1)
  • 홈
  • Github
분산 서버 환경에서 스케줄링 작업 중복 실행 제어하기

분산 서버 환경에서 스케줄링 작업 중복 실행 제어하기

필자의 프로젝트는 총 2개의 EC2 인스턴스가 존재하고 각 서버에서는 총 2개의 스케줄링(배치) 작업이 중복 실행된다. 아래는 모바일 Push 알림 전송을 위해 사용하는 FCM에서 topic 기능을 사용하는데이 topic 개수 제한이 2,000개여서 주기적으로 topic을 해제할 필요가 있었다.따라서 약속 시간이 지난 모임들을 새벽 4시 마다 스케줄링하여 약속 논리 삭제와 topic 제거를 배치 처리하고 있다.아래의 update의 경우에는 중복 처리되어도 결과에 영향을 주진 않지만모든 서버가 동일한 작업에 대해 불필요하게 DB 커넥션을 사용해 동일한 쿼리를 DB에 요청하고 FCM과 통신할 필요는 없다.또한 아래 작업의 시간이 길어진다면 모든 서버들의 초기화 시간이 길어질 수 있다는 문제가 있다.@Tran..

  • format_list_bulleted ◼ Spring
  • · 2025. 3. 14.
  • textsms
반응형
  • navigate_before
  • 1
  • navigate_next
반응형
전체 카테고리
  • 분류 전체보기 (428)
    • ◼ JAVA (67)
    • ◼ Spring (76)
    • ◼ JPA (28)
    • ◼ Thymeleaf (5)
    • ◼ DB (30)
    • ◼ 오픈소스 (16)
    • ◼ DevOps (10)
    • ◼ CS 기초 지식 (59)
      • [네트워크] (22)
      • [개발상식] (15)
      • [운영체제] (5)
      • [알고리즘] (16)
    • ◼ 트러블 슈팅 (15)
    • ◼ 기타 (6)
    • ◼ 우아한테크코스 (6)
    • ◼ 코딩테스트 (110)
      • 구현 (Implementation) (57)
      • DFS,BFS (31)
      • 완전탐색 (Bruteforce) (5)
      • 그리디 (Greedy) (6)
      • 투포인터 (Two Pointer) (2)
      • 이분탐색 (Binary Search) (1)
      • 스택, 큐 (Stack, Queue) (4)
      • DP (Dynamic Programming) (3)
      • 다익스트라 (Dijkstra) (0)
      • 구간합 (Prefix) (1)
최근 글
최근 댓글
05-12 02:25
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바