| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- Java Call By Refernce
- Spring ipfs
- java 1238
- 자바 백준 팩토리얼 개수
- 백준 연결요소 자바
- java 1509
- spring mongoTemplate switch
- spring mongodb switch
- java 팩토리얼 개수
- java 백준 1509
- spring mongoTemplate
- 백준 2252 줄세우기
- mongodb lookup
- 자바 1676
- java 파티
- go
- rabbitmq 싱글톤
- javav 1676
- kotiln const val
- Claude Intelij 연결
- 익명 객체 @transactional
- ipfs bean
- 안정해시
- 백준 1504 java
- 백준 특정한 최단 경로
- kotiln const
- kotiln functional interface
- nodejs rabbitmq
- ipfs singletone
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