| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- spring mongodb switch
- 자바 1676
- Java Call By Refernce
- java 1238
- 백준 1504 java
- spring mongoTemplate switch
- Claude Intelij 연결
- 안정해시
- Spring ipfs
- 자바 백준 팩토리얼 개수
- kotiln functional interface
- spring mongodb
- 백준 연결요소 자바
- java 1509
- 익명 객체 @transactional
- java 파티
- javav 1676
- ipfs singletone
- ipfs bean
- nodejs rabbitmq
- go
- mongodb lookup
- spring mongoTemplate
- kotiln const
- java 팩토리얼 개수
- java 백준 1509
- rabbitmq 싱글톤
- 백준 2252 줄세우기
- 백준 특정한 최단 경로
- kotiln const val
Archives
- Today
- Total
목록2023/12/01 (1)
공부 흔적남기기
Spring Scheduler SchedLock MongoDB 설명 및 구현
문제 발생 프로젝트에서 12시마다 특정 주기를 가진 아이템을 새로 생성해주는 스케쥴러가 있다. 서버를 k8s에 pod가 4개인 replica로 배포했는데 12시마다 4개의 아이템이 중복 생성되는 것을 확인. 해결 방법 구색 Shced Lock을 통해 하나의 작업에 대해 여러 스케줄러가 동시에 접근하지 못하도록 Lock을 걸 수 있음 SchedLock이란 스프링 스케줄러가 태스크를 시작하기전에 (아마 AOP 를 통해서겠지) DB에 요청을 보내 Lock이 걸렸는지 확인한다. Lock이 걸렸다면 태스크를 Wait(기다리기)하지 않고 Drop(아에 실행 시키지 않음)한다. Lock이 걸리지 않았다면 task를 수행한다. SchedLock은 DB table 을 필요해 하는데 다음과 같다. @Document(Sch..
web study/Spring
2023. 12. 1. 20:33