😭 이슈 발생 어느 날 팀원분이 PinPoint 모니터링 중 병목이 발생한다고 말씀을 해주셨는데, 일단 구체적인 원인을 모르니 상황을 조금 더 지켜보기로 했습니다. 병목이 발생한 타이밍이 필자가 RabbitMQ 설정을 추가적으로 설정한 탓에 발생한 건가?라는 생각을 했었는데 추후에 RabbitMQ 설정을 원래대로 설정을 하고 배포를 했는데도 불구하고 계속하여 문제가 발생을 하였습니다. RabbitMQ와 관련이 없구나 생각한 후 aws Cloudwatch의 로그를 보던 중 특정 API 호출 후 문제가 발생하는 것 같은 느낌을 받아 특정 API의 소스코드를 보았는데 QueryDSL의 메서드 중 transform 메서드를 확인하고 이게 어떤 역할을 하는지부터 찾아보게 되었습니다. 그리고 이녀석이 문제였구나 알..
Pessimisitic Lock : 비관적 잠금 비관적 잠금은 여러 트랜잭션이 동일한 데이터에 동시에 접근하고 수정하는 것을 방지하는 잠금 매커니즘입니다. 이 잠금에서의 트랜잭션은 특정 데이터 항목을 읽거나 수정하기 전에 해당 데이터에 대한 잠금을 요청하고 트랜잭션이 완료될 때 잠금을 해지합니다. 이렇게 한 번에 하나의 트랜잭션만이 데이터에 접근하고 수정할 수 있으므로 데이터 불일치 및 데이터 충돌 문제를 해소할 수 있습니다. 하지만 교착 상태에 빠질 우려가 있으니 주의가 필요합니다. 💡 비관적 잠금의 과정 💡 비관적 잠금의 교착 상태 아래 순서에 따르면 스레드 A는 영원히 스레드 B에 대한 비관적 잠금을 구할 수 없습니다. 그 이유는 스레드 B가 B 에그리게이트에 대해 잠금을 이미 선점하고 있기 때문입..
- Total
- Today
- Yesterday
- pipe and filter architecture
- redis sorted set
- space based architecture
- spring boot 엑셀 다운로드
- java userThread와 DaemonThread
- java ThreadLocal
- spring boot redisson destributed lock
- 공간 기반 아키텍처
- transactional outbox pattern spring boot
- @ControllerAdvice
- 서비스 기반 아키텍처
- 자바 백엔드 개발자 추천 도서
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot excel download oom
- 레이어드 아키텍처란
- transactional outbox pattern
- spring boot redisson sorted set
- spring boot redisson 분산락 구현
- 람다 표현식
- spring boot redis 대기열 구현
- microkernel architecture
- redis 대기열 구현
- JDK Dynamic Proxy와 CGLIB의 차이
- service based architecture
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot poi excel download
- spring boot excel download paging
- polling publisher spring boot
- redis sorted set으로 대기열 구현
- pipeline architecture
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |